When we're not creating models and directly creating the fields inn serializers using serializer.Serializer , will the fields save to database? because we havent migrated to the database? also if i have created one existing database, i'm creating some additional fields in serializers? will that also saves to database? can anyone lighten me up? Im new to django api. here i provide some example.
let my Model.Py be like,
class Detail(models.Model):
fname = models.Charfield(maxlength=20)
lname = models.Charfield(maxlength=20)
mobile = models.IntergerField(maxlength=20)
email = models.EmailField(maxlength=20)
let my Serializer.Py be like,
class DetailSerializer(serializer.Serializer):
created_at = serializer.Charfield
is_active = serializer.Booleanfield
Will this serializer save in database that i created manually in serializer? another question is if i create serializers without a model, will that save to database? if that saves in database how's it possible without migrating?
CodePudding user response:
No.
DRF won't create a field in your model table if you declare a field that doesn't exists in your model.
Actually, when using ModelSerializer and declare a field that does not exists in your model, you will get an error like django.core.exceptions.ImproperlyConfigured: Field name created_at is not valid for model Detail. So you won't be able to use your serializer at all.
And when you are using Serializer, you don't have create method so you won't be able to save data on db at all.
