Django REST: Установите сразу все поля сериализатора как необязательные
Есть ли способ установить поля моего сериализатора как необязательные по умолчанию? У меня уйдут часы, чтобы установить каждое поле каждого сериализатора как необязательное, поэтому я хотел узнать, есть ли какой-нибудь короткий путь.
Один пример:
class ComputersSerializer(serializers.ModelSerializer):
name = serializers.CharField(required=False)
serial = serializers.CharField(required=False)
otherserial = serializers.CharField(required=False)
contact = serializers.CharField(required=False)
contact_num = serializers.CharField(required=False)
comment = serializers.CharField(required=False)
date_mod = serializers.DateTimeField(required=False)
is_template = serializers.IntegerField(default=0)
template_name = serializers.CharField(required=False)
is_deleted = serializers.IntegerField(default=0)
is_dynamic = serializers.IntegerField(default=0)
ticket_tco = serializers.DecimalField(max_digits=20, decimal_places=4, required=False)
uuid = serializers.CharField(required=False)
date_creation = serializers.DateTimeField(required=False)
is_recursive = serializers.IntegerField(default=0)
last_inventory_update = serializers.DateTimeField(required=False)
computertypes = ComputertypesSerializer(required=False)
computermodels = ComputermodelsSerializer(required=False)
entities = EntitiesSerializer(required=False)
networks = NetworksSerializer(required=False)
locations = LocationsSerializer(required=False)
autoupdatesystems = AutoupdatesystemsSerializer(required=False)
users = assistanceSerializers.UsersSerializer(required=False)
groups = assistanceSerializers.GroupsSerializer(required=False)
states = StatesSerializer(required=False)
users_tech = assistanceSerializers.UsersSerializer(required=False)
groups_tech = assistanceSerializers.GroupsSerializer(required=False)
manufacturers = ManufacturersSerializer(required=False)
class Meta:
model = Computers
fields = '__all__'
На данный момент мне пришлось устанавливать его для каждого поля. Я искал, может у кого-то была такая же проблема, но похоже, что я ленивее остальных программистов
class ComputersSerializer(serializers.ModelSerializer):
class Meta:
model = Computers
fields = '__all__'
extra_kwargs = {field.name:{'required': False} for field in Computers._meta.get_fields()}