python - Django 可重复字段仅包含新项目

标签 python django django-models django-forms django-1.8

我想创建一个具有多个步骤的指令。简化的模型如下所示:

class Step(models.Model):
    description = models.CharField(max_length=255)

class Instruction(models.Model):
    steps = models.ForeignKey(Step)

问题是我想创建一个包含多个步骤的新指令,但是当我在管理中创建一个指令时,我应该有一个可重复的表单字段。对于每个步骤,我可以添加一个字段并创建一个新步骤。 我不需要能够选择已经存在的步骤。我不确定是否有某个软件包的 OOTB 内容已经做到了这一点...有什么想法如何解决这个问题吗? p>

举一个我想要完成的示例:WP 中的 ACF 转发器字段: enter image description here

就我而言,我只需要一个带有步骤描述的description字段

最佳答案

你的事情有点倒退了。 ForeignKey 关系应该是相反的(因为一条指令可以有多个步骤,但每个步骤只有一个相关指令...多对一 关系)。

class Step(models.Model):
    description = models.CharField(max_length=255)
    instruction = models.ForeignKey(Instruction, related_name='steps')

class Instruction(models.Model):
    # some fields

现在,在您的管理员中,您可以使用 inlines以“可重复”的方式显示这些字段,类似于 ACF。

关于python - Django 可重复字段仅包含新项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35996558/

相关文章:

python - 如何在 Windows 7 64 位上使用 theano 设置 cuDnn

python - 使用 Mongoengine 进行插入只能从 shell 工作,但不能从 Django View 工作

django - 使用 Django 1.8 ORM 跨多个表的注释

python - SQLAlchemy 相当于 Django ORM 的关系生成过滤器

python - WriteToText 在 DirectRunner 中工作,但在 DataflowRunner 中因 TypeError 而失败

python - % 混淆 python 原始 sql 查询

python - 如何使工具栏中的工具按钮一次只能选择一个?

django - Geodjango:transform() 不正确地交换经纬度

python - django注释和过滤

Django 自定义模型管理器