28 lines
849 B
Python
28 lines
849 B
Python
from rest_framework import serializers
|
||
from .models import Image, Item
|
||
|
||
|
||
class ImageSerializer(serializers.ModelSerializer):
|
||
file = serializers.ImageField(use_url=False)
|
||
|
||
class Meta:
|
||
model = Image
|
||
fields = "__all__"
|
||
|
||
class ItemSerializer(serializers.ModelSerializer):
|
||
images = ImageSerializer(many=True)
|
||
|
||
class Meta:
|
||
lookup_field = 'slug'
|
||
model = Item
|
||
fields = "__all__"
|
||
|
||
def validate_is_front(self, value):
|
||
if value:
|
||
# Если у нас is_active=True, проверяем, есть ли другой объект с True
|
||
if Item.objects.filter(is_front=True).exists():
|
||
raise serializers.ValidationError(
|
||
"Только один элемент может иметь is_front=True."
|
||
)
|
||
return value
|