@PyChan

Как установить значение в label для ForeignKey в ModelForm, взяв значения из определенного столбца дочерней модели?

У меня есть 3 модели:
class Cats(models.Model):
    id = AutoField(primary_key=True)
    name = CharField(max_length=150)
    LOC_CHOICES = [('nav', 'navigation panel'), ('main', 'mainpage'), ('footer', 'Footer')]
    location = CharField(max_length=150, choices=LOC_CHOICES, null=True, blank=True)
    objects = models.Manager()


class Marks(models.Model):
    id = AutoField(primary_key=True)
    name = CharField(max_length=150)
    objects = models.Manager()


class Items(models.Model):
    id = AutoField(primary_key=True)
    name = CharField(max_length=150)
    marks = ForeignKey(Marks, on_delete=models.DO_NOTHING)
    category = ForeignKey(Cats, on_delete=models.DO_NOTHING)
    price = DecimalField(max_digits=7, decimal_places=2)
    previous_price = DecimalField(max_digits=7, decimal_places=2)
    article_number = CharField(max_length=150)
    description = TextField()
    picture = CharField(max_length=500)
    objects = models.Manager()

И соответствующая форма для Items:
class ItemsForm(ModelForm):
    class Meta:
        model = Items
        fields = ['name', 'marks', 'category', 'picture', 'article_number', 'price', 'previous_price']
        labels = {'marks': <тут надо что-то написать>, category: <тут надо что-то написать>
                  }

Мне нужно, чтобы в селектах для полей marks и category были объекты из дочерних таблиц, но при этом они были бы подписаны не как <ИмяМодели>, <ИмяМодели>(1) и т.д, а как <содерживое столбца name нужной модели>. Я для этого не нашла документацию, так что буду очень признательна, если скините ссылку на документацию или объясните, как это сделать.
  • Вопрос задан
  • 36 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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