繁体   English   中英

可以使用django __str__方法吗?

[英]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的描述我如何改变什么返回每个模型Model1Model2STR方法示例返回“类型”如果模型模型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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM