Django.通过管理面板向模型添加字段

e7arh2l6  于 2023-03-31  发布在  Go
关注(0)|答案(1)|浏览(103)

如何制作一个模型(例如,“Brigade”),当在管理面板中创建示例时,其组成可以扩展?我们事先不知道会有多少团队成员,也许是一个,也许是五个......是否可以使用一个字段,例如“members”,以便不编写许多字段,如“member_1”,“member_2”等?
那么如何在创建许多相同类型的字段的变体中使用related_name呢?

class Brigade(models.Model):

    brigadier = models.ForeignKey(
        'Personal',
        null=True,
        blank=False,
        on_delete=models.SET_NULL,
        verbose_name='brigadier',
        related_name='brigadier'
    )
    member_1 = models.ForeignKey(
        'Personal',
        null=True,
        blank=True,
        on_delete=models.SET_NULL,
        verbose_name='member_1',
        related_name='brigade'
    )
js81xvg6

js81xvg61#

只需使用ManyToMany关系:

class Brigade(models.Model):

    brigadier = models.ForeignKey(...)

    members = models.ManyToManyField(
        'Personal',
        related_name='brigades'
    )

Django DOCS

相关问题