Django:根据外键的存在为模型实例创建可编辑的默认值

星际98

我在Django中玩耍,想知道是否存在一种方法来遍历我创建的两个不同模型的实例?

/ models.py:

class Tran(models.Model):
    name = models.CharField(max_length=300)
    description = models.CharField(max_length=2000)
    type = models.ForeignKey(TransactionType)
    def __str__(self):
        return self.name

 class DocLink(models.Model):
    trann = models.ForeignKey(Transaction)
    t_link = models.CharField(max_length=2000)
    t_display = models.CharField(max_length=1000)
    p_display = models.CharField(max_length=300)
    p_link = models.CharField(max_length=2000)
    def __str__(self):
        return self.link

我想做的事:

浏览每个Tran实例,并为DocLink表中的链接/显示创建默认值,而不是手动执行。

无论如何,我可以指出正确的方向吗?

穆罕默德(Mohammad)负责

如果要基于trann字段在DocLink实例中设置链接/显示默认值,则可以覆盖模型的save方法。

例如,以下代码显示了如何在没有值的情况下设置t_link:

class DocLink(models.Model):
    trann = models.ForeignKey(Transaction)
    t_link = models.CharField(max_length=2000)
    t_display = models.CharField(max_length=1000)
    p_display = models.CharField(max_length=300)
    p_link = models.CharField(max_length=2000)
    def __str__(self):
        return self.link

    def save(self, *args, **kwargs):
        if not self.t_link:
            pass # TODO set self.t_link based on trann

        super(DocLink, self).save(*args, **kwargs)

您也可以将模型的trann字段更改为:

trann = models.ForeignKey(Transaction, related_name="doclinks")

然后使用以下命令访问Tran的所有DocLink:

# t is an instance of Tran class

t.doclinks.all()

因此,您可以遍历此列表并执行所需的操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django的。外键的默认值

来自分类Dev

可编辑的ComboBox FXML默认值

来自分类Dev

Django:模型实例中字段的默认值

来自分类Dev

根据Django 1.6中的字段名称迭代提取模型实例的字段值和默认值

来自分类Dev

根据Django 1.6中的字段名称迭代提取模型实例的字段值和默认值

来自分类Dev

Django将默认值保存在代理模型中

来自分类Dev

外键默认值的ValueError

来自分类Dev

外键列的默认值-InnoDB

来自分类Dev

外键默认值的ValueError

来自分类Dev

使用默认值创建记录实例

来自分类Dev

创建忽略默认值的骨干模型

来自分类Dev

每个外键的Django模型单个实例

来自分类Dev

Django(模型):如何从外键获取实例

来自分类Dev

使用C ++和map / unordered_map创建直方图:不存在的键的默认值

来自分类Dev

PostgreSQL NOT NULL外键和带序列的默认值

来自分类Dev

Django使用外键创建模型

来自分类Dev

Django - 这是否可能在创建模型时添加默认值?

来自分类Dev

使用模型方法作为Django模型的默认值?

来自分类Dev

Django模型:外键的唯一值

来自分类Dev

如何在Django模型中创建一个值为值或外键的字段?

来自分类Dev

创建默认值

来自分类Dev

django模型实例编辑

来自分类Dev

Django Model属性-计算模型的多个实例的外键

来自分类Dev

返回Django模型上的空字段的默认值

来自分类Dev

UUID作为Django模型中的默认值

来自分类Dev

Django:带用户的模型OneToOneField无法添加默认值

来自分类Dev

模型中的Django 3动态默认值

来自分类Dev

为 Django 模型 FloatField 设置最大默认值

来自分类Dev

如何在Django模板中使Modelform可编辑外键字段?

Related 相关文章

热门标签

归档