[英]Can this be done with django __str__ method?
我有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方法示例返回“类型”如果模型模型2或“说明”如果模型是Model1。
基本上问的是如何在MyModel中有条件地返回“ type”或“ description”
我个人不喜欢这种解决方案。
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?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.