gpt4 book ai didi

python - Django 多个外键 - 在详细信息管理页面中显示相关字段以进行添加/编辑

转载 作者:太空宇宙 更新时间:2023-11-03 17:56:10 25 4
gpt4 key购买 nike

我有一个投票应用程序,其中一个模型“Choice”由链接到“Person”模型的 2 个外键字段组成。

一旦我选择了该人的“姓名”,我想自动填充相关的“photo_other”字段(带有图像链接)。 “name”也是与 Choice 模型链接的外键字段。

models.py

class Choice(models.Model):
name = models.ForeignKey(Person)
photo_other = models.ForeignKey(Person)
rating = models.DateTimeField(blank=True, null=True)

def __unicode__(self):
return smart_unicode(self.name)

class Person(models.Model):
name = models.CharField(max_length=250)
photo = models.ImageField(upload_to="photos")
pub_date = models.DateTimeField()

def __unicode__(self):
return smart_unicode(self.name)

最佳答案

当两个不同的表通过外键连接时,为什么要在两个不同的表中存储相同的值?这根本没有意义。

class Choice(models.Model):
name = models.ForeignKey(Person)
rating = models.DateTimeField(blank=True, null=True)

@property
def photo_other(self):
return self.name.photo

class Person(models.Model):
name = models.CharField(max_length=250)
photo = models.ImageField(upload_to="photos")
pub_date = models.DateTimeField()
<小时/>

为了使photo_otherChoice模型的管理页面下可见,您可以执行以下操作;

class ChoiceAdmin(admin.ModelAdmin):
list_display = ['name', 'rating', 'get_photo']

def get_photo(self, obj):
return obj.photo_other
get_photo.short_description = 'Photo'

关于python - Django 多个外键 - 在详细信息管理页面中显示相关字段以进行添加/编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28403317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com