每次在django中创建另一行时创建一行

时间:2012-11-18 10:09:35

标签: python database django model

每次创建特定表中的行时,我想在我的一个数据库表中创建一行。 例如:

class Group(models.Model):
    name               = models.CharField(max_length=50)
    slug               = models.SlugField(unique = True)
    about              = models.TextField(blank = True, null=True)

每次创建此表中的新行时,我都想在Link类中添加一个新行

class Link(models.Model):
    name               = models.CharField(max_length=50)
    slug               = models.SlugField(unique = True)
    location           = models.CharField(max_length= 200)

该组的slug将成为Link位置的一部分。 我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

这是post_save信号的来源。你可以将它添加到models.py的底部:

from django.db.models.signals import post_save

def create_group_links(instance, created, **kwargs):
    if created:
        Link.objects.create(name='FOO', slug='BAR', location='LOC' + instance.slug)
post_save.connect(create_group_links, sender=Group)