Как добавить массив целочисленных полей в Django Rest Framework?
Я хочу добавить массив целочисленных полей в мою модель
class Schedule(models.Model):
name = models.CharField(max_length=100)
start_time = models.DateTimeField(auto_now_add=True)
end_time = models.DateTimeField(null=True, blank=True)
day_of_the_week = ?? ( array of integer )
Я пробовал с
class Schedule(models.Model):
name = models.CharField(max_length=100)
start_time = models.DateTimeField(auto_now_add=True)
end_time = models.DateTimeField(null=True, blank=True)
day_of_the_week = models.CharField(max_length=100)
и в сериализаторе добавить ListField
class ScheduleSerializer(serializers.ModelSerializer):
day_of_the_week = serializers.ListField()
class Meta():
model = Schedule
fields = "__all__"
но этот не работает, может кто-нибудь подскажет мне, как решить эту проблему?
Ваше решение должно работать с одним небольшим изменением:
models.CharField(validators=[int_list_validator], max_length=100)
Попробуйте это:
class Schedule(models.Model):
name = models.CharField(max_length=100)
start_time = models.DateTimeField(auto_now_add=True)
end_time = models.DateTimeField(null=True, blank=True)
day_of_the_week = models.JSONField(default=list)
class ScheduleSerializer(serializers.ModelSerializer):
day_of_the_week = serializers.ListField(
child=serializers.IntegerField(),
)
class Meta():
model = Schedule
fields = "__all__"