我有2个带有外键的模型
class MyModel(models.Model):
description = models.CharField(max_length=50)
type = models.CharField(max_length=10)
def __str__(self):
return self.description
class Model1(models.Model):
mymodel = models.ForeignKey(MyModel)
class Model2(models.Model):
mymodel = model.ForeignKey(MyModel)
在mymodel
的管理员下拉列表中, str 方法返回MyModel的描述。
如何更改每个模型Model1
,Model2
返回的内容
str 方法中的示例,如果模型为Model2,则返回“类型”,如果模型为Model1,则返回“说明”。
基本要问的是如何有条件地在MyModel中返回“类型”或“描述”
答案 0 :(得分:0)
我个人不喜欢这种解决方案。
ForeignKey
表示多对一关系。而您想要达到相反的水平。
class MyModel(models.Model):
description = models.CharField(max_length=50)
type = models.CharField(max_length=10)
def __str__(self):
if self.model1_set.exists():
return self.type
if self.model2_set.exists():
return self.description
# What to return if both exists or none of them?