2

特定のテーブルで行が作成されるたびに、データベースのテーブルの 1 つに行を作成したいと考えています。例えば:

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)

グループのスラッグがリンクの場所の一部になる場所。どうやってやるの?

4

1 に答える 1

3

ここで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)
于 2012-11-18T10:18:21.320 に答える