2017-04-26 64 views
0

我剝我的代碼,一路下來,只剩下這些簡單的模式是:OneToOneField在Django管理不可編輯

models.py

class Member(models.Model): 
    property = models.OneToOneField(Property, on_delete=models.CASCADE, blank=True, null=True) 

class Property(models.Model): 
    .... 

併爲Member這個很基本的管理S:

admin.py

class PropertyAdmin(admin.ModelAdmin): 
    pass 
admin.site.register(Property, PropertyAdmin) 

class MemberAdmin(admin.ModelAdmin): 
    pass 
admin.site.register(Member, MemberAdmin) 

作爲超級用戶登錄到管理員,正如Member管理頁面上的預期,我看到一個下拉列表以選擇Property模型。當已經選擇了Property型號時,編輯所選Property型號的常用鉛筆圖標會淡出,因此我無法點擊它。如何激活此圖標,以便通過彈出窗口編輯此Member頁面中的相關Property?我無法弄清楚我錯過了什麼。

謝謝!

+0

您是否知道該屬性是一種內置的python方法? –

+0

@RobinAnupol我編造了類名來混淆有問題的實際業務邏輯... – TAH

回答

1

您尚未在管理員中註冊Property模型。

@admin.site.register(Property) 
class PropertyAdmin(admin.ModelAdmin): 
    pass 
+0

我是......我只是沒有在問題中包含代碼。現在更新。謝謝! – TAH

-1

與@Andrey Shipilov同意,

您可以按照這種方式也。

class PropertyAdmin(admin.ModelAdmin): 
    pass 
admin.site.register(Property, PropertyAdmin) 
+0

但不應該。現在首選的方法是修飾器。 https://docs.djangoproject.com/en/1.11/ref/contrib/admin/#the-register-decorator –

+0

這也是我在Django 1.11版本 –

相關問題