Я новичок в Джанго. Я слаб в реляционной сериализации. Пожалуйста, помогите мне решить следующую проблему.
Проблема: я хочу создать модель, сериализаторы и весь необходимый код. По сути, я хочу решить курс sera по оценке проекта курса API. Когда я запускаю свой код и тестирую, я вижу возникшую ошибку: django.db.utils.IntegrityError: Ошибка ограничения NOT NULL: LittleLemonAPI_menuitem.category_id
Это происходит, когда я определяю глубину =1 в MenuItemSerializer и создайте новый пункт меню. Если я удалю глубину = 1 и категорию = CategorySerializer; никакой ошибки не произошло. Но тогда данные таблицы категорий не заполняются.
Ниже я добавляю необходимый код:
serializers.py
Я новичок в Джанго. Я слаб в реляционной сериализации. Пожалуйста, помогите мне решить следующую проблему. Проблема: я хочу создать модель, сериализаторы и весь необходимый код. По сути, я хочу решить курс sera по оценке проекта курса API. Когда я запускаю свой код и тестирую, я вижу возникшую ошибку: django.db.utils.IntegrityError: Ошибка ограничения NOT NULL: LittleLemonAPI_menuitem.category_id Это происходит, когда я определяю глубину =1 в MenuItemSerializer и создайте новый пункт меню. Если я удалю глубину = 1 и категорию = CategorySerializer; никакой ошибки не произошло. Но тогда данные таблицы категорий не заполняются. Ниже я добавляю необходимый код: serializers.py [code]from rest_framework import serializers, validators from .models import Category, MenuItem, Cart, Order, OrderItem from django.contrib.auth.models import User, Group, Permission
class CategorySerializer(serializers.ModelSerializer): class Meta: model = Category fields = ['id', 'slug', 'title']
validators = [ validators.UniqueTogetherValidator( queryset=Category.objects.all(), fields=('title',), message="Category must be unique" ) ]
class MenuItemSerializer(serializers.ModelSerializer): class Meta: model = MenuItem category = CategorySerializer() fields = ['id', 'title', 'price', 'featured', 'inventory', 'category',] depth = 1
class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = ['id', 'username', 'email', 'groups',] depth = 1
class CartSerializer(serializers.ModelSerializer): class Meta: model = Cart user = UserSerializer() menuitem = MenuItemSerializer() fields = ['id', 'user', 'menuitem', 'quantity', 'unit_price', 'price'] depth = 1 validators = [ validators.UniqueTogetherValidator( queryset=MenuItem.objects.all(), fields=('id',), message="Menuitem should be unique in this curt" ), validators.UniqueTogetherValidator( queryset=User.objects.all(), fields=('id'), message="User should be unique") ]
class OrderSerilizer(serializers.ModelSerializer): class Meta: model = Order fields = ['id', 'user', 'delivery_crew', 'status', 'total', 'date'] depth = 1
class OrderItemSerializer(serializers.ModelSerializer): class Meta: model = OrderItem fields = ['id', 'order', 'menuitem', 'quantity', 'unit_price', 'price'] depth = 1 validators = [ validators.UniqueTogetherValidator( queryset=Order.objects.all(), fields=('id',) ), validators.UniqueTogetherValidator( queryset=MenuItem.objects.all(), fields=('id',) ) ]
[/code] models.py [code]from django.db import models from django.contrib.auth.models import User # Create your models here.
class Category(models.Model): slug = models.SlugField() title = models.CharField(max_length=255, db_index=True)
class MenuItem(models.Model): title = models.CharField(max_length=255, db_index=True) price = models.DecimalField(max_digits=6, decimal_places=2, db_index=True) featured = models.BooleanField(db_index=True) category = models.ForeignKey(Category, on_delete=models.PROTECT) inventory = models.IntegerField()
class Meta: unique_together = ('menuitem', 'user')
class Order(models.Model): user = models.ForeignKey(User, models.CASCADE) delivery_crew = models.ForeignKey( User, on_delete=models.SET_NULL, related_name='delivery_crew', null=True) status = models.BooleanField(db_index=True, default=0) total = models.DecimalField(max_digits=6, decimal_places=2) date = models.DateField(db_index=True)
class Meta: unique_together = ('order', 'menuitem') [/code] [code]Error: django.db.utils.IntegrityError: NOT NULL constraint failed: LittleLemonAPI_menuitem.category_id[/code] Я пытаюсь добавить пункты меню, но когда я назначаю глубину = 1, возникает ошибка avobe.
Я новичок в Джанго. Я слаб в реляционной сериализации. Пожалуйста, помогите мне решить следующую проблему.
Проблема: я хочу создать модель, сериализаторы и весь необходимый код. По сути, я хочу решить курс sera по оценке проекта курса API. Когда я...
Когда я попытался отправить регистрационную форму, заполнив необходимые записи, произошла следующая ошибка. Пожалуйста, помогите мне устранить вышеуказанную ошибку.
IntegrityError в /accounts/register/
Ограничение NOT NULL не выполнено:...
Когда я попытался отправить регистрационную форму, заполнив необходимые записи, произошла следующая ошибка. Пожалуйста, помогите мне устранить вышеуказанную ошибку.
IntegrityError в /accounts/register/
Ограничение NOT NULL не выполнено:...
Когда я попытался отправить регистрационную форму, заполнив необходимые записи, произошла следующая ошибка. Пожалуйста, помогите мне устранить вышеуказанную ошибку.
IntegrityError в /accounts/register/
Ограничение NOT NULL не выполнено:...