我正在尝试将血型复制为图中定义的模型。
在我的 models.py 文件中,我有我的代码来复制这样的血型
class BloodGroup(models.Model):
name = models.CharField(
max_length=3
)
gives = models.ManyToManyField("self")
receives = models.ManyToManyField("self")
def __str__(self):
return self.name
在我的 admin.py 文件中,我按如下方式注册了模型
class BloodGroupAdmin(admin.ModelAdmin):
model = BloodGroup
list_display = ['name', 'get_gives', 'get_receives']
def get_gives(self, obj):
return ", ".join([item.name for item in obj.gives.all()])
def get_receives(self, obj):
return ", ".join([item.name for item in obj.receives.all()])
admin.site.register(BloodGroup, BloodGroupAdmin)
最初,我创建了普通的 BloodGroup 对象,没有它们的 gives 和 receives 属性,只提供了它们的名称。因此,我为所有 8 种类型创建了一个对象。然后,当我向每个对象添加关系时,我发现为一个对象添加给予或接收也会影响其他对象的给予和接收,从而无法复制图像中的结构。
如何在不影响其他对象的情况下定义关系?
在我的管理站点中,我看到字段名称为“get_gives”和“get_receives”。我如何使管理页面将字段名称显示为“提供”和“接收”,但仍将对象显示为如下图所示的字符串?
HUX布斯
相关分类