2017-08-20 67 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

相关问题