我在django模型中有一个联系我们的类,使用“user_id”外键,在admin.py文件中,我想在userprofile模型“user_id”中使用带有user_id密钥的userprofile数据,例如“name”字段。 foreign_key也是,怎么办呢?
在models.py中:
class Ticket(models.Model):
user_id = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True, editable=False, verbose_name="user")
replier_id = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True, related_name="replier")
guest_name = models.CharField(max_length=50, blank=True, null=True, editable=False)
guest_email = models.CharField(max_length=255, blank=True, null=True, editable=False)
user_phone = models.CharField(max_length=13, blank=True, null=True, editable=False)
subject = models.CharField(max_length=255, blank=True, null=True, editable=False)
message = models.TextField(editable=False)
reply = models.TextField(blank=True, null=True)
date = models.DateTimeField(auto_now=True, editable=False)
reply_date = models.DateTimeField(blank=True, null=True)
user_ip = models.GenericIPAddressField(editable=False)
在admin.py中
class ContactUsAdmin(admin.ModelAdmin):
actions = None
fields = ('user_name', 'user_email', 'subject', 'date', 'message', 'user_phone', 'reply')
list_display = ('user_name', 'user_email', 'subject', 'date', 'is_replied')
list_filter = ('date',)
search_fields = ['user_id__first_name', 'user_id__email', 'guest_name', 'guest_email', 'subject', 'message']
readonly_fields = ('user_name', 'user_email', 'subject', 'date', 'message', 'user_phone', 'reply_date')
我想在admin.py字段中的UserProfile类显示名称
答案 0 :(得分:0)
通过查询的问题标题。我正在激励如何在django中做到这一点:
的
class Album(models.Model): AlbumName = models.CharField(max_length=250) AlbumSinger = models.CharField(max_length=250) AlbumGenre = models.CharField(max_length=250) AlbumImage = models.FileField(null=True) SingerImage = models.FileField(null=True)
class Musics(models.Model): album = models.ForeignKey(Album, related_name='music') MusicName = models.CharField(max_length=250) MusicLength = models.CharField(max_length=250) MusicFile = models.FileField(null=True)
在Musics中使用foreignkey专辑。您可以根据自己的相册访问所有音乐。要在管理员中访问它们,只需导入类名并执行以下操作:
admin.site.register(Album) admin.site.register(Musics)
谢谢。我希望它能清除你的困惑。
答案 1 :(得分:-1)
最后我解决了它,当在userprofile模型中,user_id有“profile”related_name,在每个地方,使用user_id外键我们都有来自每个模型的所有相关字段user_id是其中的外键 你可以看到那些使用dir(“你user_id实例”)。 所以,使用user_id.profile.name我得到用户的个人资料名称,没有任何导入或更改!