2017-08-20 72 views
0

相關的我是新來的Django模型和我使用的是1.11版本
我有幾個型號一些與外鍵和一些與oneToOne關係有關。
例如用戶和個人資料模型,我想添加在用戶的個人資料表單字段
怎麼樣?
對於oneToOne,我有一個與用戶模型相關的oneToOne字段的管理模型。但不只是管理員,我有幾種類型的用戶(管理員,作家,commetator,...)每個在不同的模型和創建一個類型時,我也創建其相關的用戶,所以當我訪問作者的形式管理我創建一個管理員,但我也希望有用戶的示範田,使我創造無論從作家的形式
在爲adminadmin即:管理模式,我想添加用戶的領域在管理模板展示形式
添加字段從另一個與OneToOneField或ForeignKey的關係

from django.contrib import admin 

from .models import User, Admin 


class UserInline(admin.StackedInline): 
    model = User 
    fields = ['username', 'first_name', 'last_name'] 

class AdminAdmin(admin.ModelAdmin): 
    model = Admin 
    list_display = ['getUsername'] 
    inlines = [UserInline] 

    def getUsername(self, obj): 
     return obj.user.username 

    getUsername.short_description = "Nom d'utilisateur" 

admin.site.register(Admin, AdminAdmin) 

此代碼生成錯誤「:(admin.E202)'common.User'沒有ForeignKey到'common.Admin'。」

回答

0

在此設置:

Class A(models.Model): 
    # ... 
    nameField = models.CharField(max_length=100, ...) 
    # ... 
    pass 

Class B(models.Model) 
    # ... 
    fk = models.ForeignKey(A) 
    # ... 

Class C(models.Model): 
    # ... 
    oto = models.OneToOneKeyField(A) 

你卡恩訪問realted模型與ForeignKey + __ + FieldName場。例如。

'fk__name'

Ç

'oto__name'

+0

謝謝你的答案,但它沒有工作:你可以從相關的模型與訪問模型中的姓名字段我得到錯誤「爲配置文件指定的未知字段(用戶_用戶名)。檢查字段/字段集/排除類的屬性fileAdmin「。 – leila

+0

更多信息可能對您有所幫助。 1)你把那個代碼放在哪裏? 2)你需要哪些相關領域? (管理員或您自己的視圖)。 3)你需要哪些類的相關模型? ('models.Model','admin.ModelAdmin','forms.ModelForm'?) –

+0

請結帳 – leila

相關問題