Django模型中的多对多数组字段
many to many array field in django model
我正在 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')
与 ManyToManyField
[Django-doc]:
class Job(models.Model):
jobid = models.CharField(max_length=100)
partsrequired = <b>models.ManyToManyField(</b>partslist, related_name='required_for_jobs'<b>)</b>
partsproduced = <b>models.ManyToManyField(</b>partslist, related_name='produced_for_jobs'<b>)</b>
我正在 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')
与 ManyToManyField
[Django-doc]:
class Job(models.Model):
jobid = models.CharField(max_length=100)
partsrequired = <b>models.ManyToManyField(</b>partslist, related_name='required_for_jobs'<b>)</b>
partsproduced = <b>models.ManyToManyField(</b>partslist, related_name='produced_for_jobs'<b>)</b>