@bulka704

Как создать связь с полем модели внутри нее?

class Vendor(models.Model):
    name = models.CharField(_('Имя'), max_length=255)
    description = models.TextField(_('Описание'), null=True, blank=True)
    avatar = models.ImageField(_('Аватар'), upload_to='avatars', blank=True, null=True)
    specifications = RichTextField(blank=True, null=True)
    members = models.ManyToManyField(CustomUser, related_name='vendors')
    products = models.ForeignKey(Product, related_name='vendors', on_delete=models.CASCADE, blank=True, null=True)
    # head = models.ForeignKey(members, related_name='vendors', on_delete=models.CASCADE, null=True, blank=True)
    # categories = models.ManyToManyField(Category, related_name='')
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)


Хочу взять head из members. Как это можно реализовать и какие способы есть?
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ответы на вопрос 1
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Надо делать это вычисляемым полем, например. Зачем филд? А если надо для оптимизации, чтоб не делать каждый раз запрос, то можно перекрыть сохранение и записывать ссылку.
Ссылку на себя из модели делать можно, вместо класса указывается его имя в виде строки.
В каждом туториале по джанго такие примеры есть. А если каких-то нет, а вам-новичку это зачем-то надо, то впору задуматься а правильно ли так поступать. Обычно все правильные пути давно исхожены, дорожки проторены и снабжены горой примеров и документацией. Маловероятно, что в начале своего пути вы столкнулись с каким-то редким сложным кейсом, который не ражеван сообществом вдоль и поперёк.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы