Хобрук: Ваш путь к мастерству в программировании

Поле отбрасывания сериализатора django

В настоящее время я создаю приложение django и сериализую свои представления, но при применении сериализатора к модели удаляются поля, которые я хочу сериализовать:

модели.py

class vehicles_model(models.Model):
    pk_idmodel = models.AutoField(db_column='PK_IdModel', primary_key=True)  # Field name made lowercase.
    name = models.CharField(max_length=20, default=None)
    fk_idbrand= models.ForeignKey(vehicles_brand, on_delete= models.CASCADE, db_column='FK_IdVehicleBrand', related_name='Brand')

    class Meta:
        db_table = 'vehicles_model'
        verbose_name_plural = "Vehicle Models"

сериализаторы.py

class brandSerializer(serializers.ModelSerializer):
    class Meta:
        model = vehicles_brand
        fields = ['name']   
        depth = 3

class modelSerializer(serializers.ModelSerializer):

    Brand = brandSerializer(many=True, read_only=True)
    
    class Meta:
        model = vehicles_model
        fields = ['name', 'Brand']   
        depth = 3

выход:

    {
        "name": "Aveo"
    },
    {
        "name": "Spark"
    },

Это название модели, но бренд не указан, я не смог исправить это после проверки других решений, заранее спасибо за любые подсказки или помощь.


  • Имя вашего поля Branch в сериализаторе не совпадает с исходным полем в классе модели, то есть fk_idbrand. Изменить на: brandSerializer(source="fk_idbrand", many=True, read_only=True) 25.02.2021

Ответы:


1

Попробуйте обновить сериализатор brandSerializer, включив в него поле brand.

class brandSerializer(serializers.ModelSerializer):
    class Meta:
        model = vehicles_brand
        fields = ['name', 'brand`]   
        depth = 3
24.02.2021
Новые материалы

Как симулировать серию пенальти на Python с помощью симуляции Монте-Карло, часть 1: генерация функций
Серия пенальти была огромным испытанием во время чемпионата мира по футболу. Они вызвали много споров в социальных сетях и новостных агентствах. Даже финальный матч турнира решался по..

AST для разработчиков JavaScript
TL; DR Эта статья - мое выступление на недавно состоявшейся конференции Stockholm ReactJS Meetup. Вы можете посмотреть слайды здесь..

5 проектов на Python, которые нужно создать прямо сейчас!
Добро пожаловать! Python — один из моих любимых языков программирования. Если вы новичок в этом языке, перейдите по ссылке ниже, чтобы узнать о нем больше:

Dall-E 2: недавние исследования показывают недостатки в искусстве, созданном искусственным интеллектом
DALL-E 2 — это всеобщее внимание в индустрии искусственного интеллекта. Люди в списке ожидания пытаются заполучить продукт. Что это означает для развития креативной индустрии? О применении ИИ в..

«Очень простой» эволюционный подход к обучению с подкреплением
В прошлом семестре я посетил лекцию по обучению с подкреплением (RL) в моем университете. Честно говоря, я присоединился к нему официально, но я редко ходил на лекции, потому что в целом я нахожу..

Освоение информационного поиска: создание интеллектуальных поисковых систем (глава 1)
Глава 1. Поиск по ключевым словам: основы информационного поиска Справочная глава: «Оценка моделей поиска информации: подробное руководство по показателям производительности » Глава 1: «Поиск..

Фишинг — Упаковано и зашифровано
Будучи старшим ИТ-специалистом в небольшой фирме, я могу делать много разных вещей. Одна из этих вещей: специалист по кибербезопасности. Мне нравится это делать, потому что в настоящее время я..