我如何创建一个自我更新的django字段来存储给定模型的所有实例?

时间:2012-10-18 12:52:41

标签: django django-models

假设我有以下型号:

class Cow (models.Model):
    name = models.CharField(max_length=100)
    color = models.CharField(max_length=100, default="brown")

在我们的农场,我们有很多奶牛。通常情况下,农民按照规定的批次将奶牛带到兽医处:

class Cow_Batch(models.Model):
    batch_name = models.CharField(max_length=100)
    cows = models.ManyToManyField(Cow)

在我们的管理员中,我们可以创建一个Cow_Batch,让我们的农民可以轻松地将Daisy和Debbie(两个身体状况相似的姐妹)一起带到兽医那里。

我希望能够将'all'作为Cow_Batch。这很容易填充自己,但我希望当新牛被添加到牛群时,'all'的内容会自动更新。最终目的是能够使用:

class Vet_Visit(models.Model):
    cows_brought_to_vet = models.ForeignKey(Cow_Batch)

并将'all'作为一种有效的可能性,等等。

1 个答案:

答案 0 :(得分:1)

我认为您可以将django post_save signal用于Cow模型。在添加新Cow的信号处理程序中,您将其添加到所有 Cow_Batch

Django Signals