【问题标题】:many to many array field in django modeldjango模型中的多对多数组字段
【发布时间】:2020-08-13 10:31:54
【问题描述】:

我正在 django 中构建工作订单模型。我想要一个数组字段用于需要数量的零件,另一个数组字段是生产的零件。这些零件将是我已经创建的库存应用程序中模型的外键。从我读过的内容来看,PostgreSQL 不允许在数组字段中使用外键。所以我需要在一个新模型中有一个多对多的字段。但我不确定如何构建它。解决此问题的最佳方法是什么?

models.py

from django.db import models
from django.contrib.postgres.fields import ArrayField
from inventory.parts.models import partslist

# Create your models here.
class jobs(models.Model):
    jobid = models.CharField(max_length=100)
    partsrequired = ArrayField(
        ArrayField(
            models.ForeignKey(partslist, on_delete=models.CASCADE)
        )
    )
    partsproduced = ArrayField(
        ArrayField(
            models.ForeignKey(partslist, on_delete=models.CASCADE)
        )

class instruction(models.Model):
    job = models.ForeignKey(jobs)
    pdf = models.FileField(upload_to='pdf')

【问题讨论】:

    标签: arrays django model key field


    【解决方案1】:

    ManyToManyField [Django-doc]:

    class Job(models.Model):
        jobid = models.CharField(max_length=100)
        partsrequired = models.ManyToManyField(partslist, related_name='required_for_jobs')
        partsproduced = models.ManyToManyField(partslist, related_name='produced_for_jobs')

    【讨论】:

      猜你喜欢
      • 2016-10-10
      • 2021-11-27
      • 2013-05-17
      • 2020-07-01
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多