Как назначить два внешних ключа двум полям в одной модели в Django? - PullRequest
0 голосов
/ 14 июля 2020

Итак, у меня есть модель статьи и модель категории. А ниже мои модели.

class Category(models.Model):
    objects = models.Manager()
    category_kor = models.CharField(max_length=10, default="책")
    category_eng = models.CharField(max_length=10, default="book")

    def __str__(self):
        return self.category

class Article(models.Model):
    objects = models.Manager()

    category_eng = models.ForeignKey(Category, on_delete=models.CASCADE, related_name = '', null=True, default=None) 
    category_kor = models.ForeignKey(Category, on_delete=models.CASCADE, related_name = '', null=True, default=None)
    title = models.CharField(max_length = 100)
    subtitle = models.CharField(max_length = 100)
    url = models.URLField(max_length=10000)

    def __str__(self):
        return self.title

Итак, я провел небольшое исследование и заметил, что мне нужно что-то делать с related_name, но я не могу полностью понять и применить это к моей модели. Пожалуйста помоги. Большое спасибо.

1 Ответ

0 голосов
/ 14 июля 2020

Я думаю, вместо того, чтобы использовать одно и то же значение в related_field, если вы используете другое значение, оно должно работать.

class Article(models.Model):
    objects = models.Manager()
    category_eng = models.ForeignKey(Category, on_delete=models.CASCADE, related_name = 'rel_category', null=True, default=None) 
    category_kor = models.ForeignKey(Category, on_delete=models.CASCADE, related_name = 'related_category_kor', null=True, default=None)
    title = models.CharField(max_length = 100)
    subtitle = models.CharField(max_length = 100)
    url = models.URLField(max_length=10000)

    def __str__(self):
        return self.title
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...