Добавить дополнительное поле в многоатомное отношение в django - PullRequest
0 голосов
/ 20 июня 2020

Я пытаюсь создать модель своего приложения, но запутался в макете

class Product(models.Model):

    name = models.CharField(max_length=500, default=0)
    short_code = models.CharField(max_length=500, default=0,unique=True)

class Kit(models.Model):

    owner = models.ForeignKey(User, on_delete=models.CASCADE)
    kit_name = models.CharField(max_length=500, default=0)
    product = models.ManyToManyField(Product)

Теперь человек может добавить несколько продуктов в приложение, а в комплекте может быть несколько продуктов, проблема начинается здесь .. Я хочу добавить поле количества в модель Kit, чтобы человек мог добавить конкретный элемент и его количество в комплект. Как мне это сделать?

1 Ответ

0 голосов
/ 20 июня 2020

Расширьте вашу модель Kit следующим образом:

class Kit(models.Model):

    owner = models.ForeignKey(User, on_delete=models.CASCADE)
    kit_name = models.CharField(max_length=500, default=0)
    product = models.ManyToManyField(Product)
    quantity = models.FloatField()

Затем пользователь может определить Product и его quantity в form. Это все, что вам действительно нужно, чтобы охватить вашу представленную настройку.

Обновите свой комментарий

Тогда я бы сделал go для других отношений, например:

class ProductQuantity(models.Model):
    quantity = models.ManyToManyField(Product)
    # and remove it from the Kit Model

, поэтому каждый Product может быть связан со своим quantity

...