Как я могу использовать идентификатор в качестве внешнего ключа в django? - PullRequest
1 голос
/ 19 апреля 2020

Предположим, мне нужно создать эти 2 модели. 1. Создайте модель продукта с полями Имя, Описание, Цена 2. Создайте модель запаса с ProductID (ссылка на иностранный ключ), Имя, Описание, Цена, Количество .. Теперь мой вопрос Это как я могу принять идентификатор в качестве внешнего ключа от модели продукта на складе?

1 Ответ

0 голосов
/ 19 апреля 2020

Вы можете пометить ForeignKey как primary_key=True [Django -doc] :

class Product(models.Model):
    name = models.CharField(max_length=100)
    description = models.CharField(max_length=4096)
    price = models.DecimalField(max_digits=15, decimal_places=2)

class Stock(models.Model):
    product = models.OneToOneField(
        Product,
        <b>primary_key=True</b>,
        on_delete=models.CASCADE
    )
    name = models.CharField(max_length=100)
    description = models.CharField(max_length=4096)
    price = models.DecimalField(max_digits=15, decimal_places=2)
    quantity = models.IntegerField()

Поскольку это первичный ключ, это уникальное поле. Таким образом, вы можете не создавать два или более Stock объекта, которые ссылаются на один и тот же Product.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...