મુખ્ય સમસ્યા એ છે કે તમારે વિદેશી કી પર ડેટા મોકલવા માટે POST પદ્ધતિનો ઉપયોગ કરવાની જરૂર છે.
I have a model with a foreign key. I am trying to post data to this model using the Django Rest Framework. How do I post data to the foreign key? <code>class Model1(models.Model): name = models.CharField(max_length=100) def __str__(self): return self.name class Model2(models.Model): name = models.CharField(max_length=100) model1 = models.ForeignKey('Model1', on_delete=models.CASCADE, related_name='model2') def __str__(self): return self.name class Model2Serializer(serializers.ModelSerializer): class Meta: # noqa: D106,D205,D400,E501 # pylint: disable=too-few-public-methods,missing-docstring,line-too-long,no-init # noqa: D105 # pylint: disable=R0903 # noqa: D102 # pylint: disable=R0901 model = Model2 fields = ['id', 'name', 'model1'] </code>
આ કોડ બે મોડલ વ્યાખ્યાયિત કરે છે, Model1
અને Model2
, અને માટે સીરીયલાઇઝર Model2
.
Model1
નામનું ક્ષેત્ર ધરાવે છે name
.
Model2
નામનું ક્ષેત્ર ધરાવે છે name
, અને વિદેશી કી ક્ષેત્ર કહેવાય છે model1
. માટે વિદેશી કી લિંક્સ Model1
.
માટે સીરીયલાઇઝર Model2Serializer
, મોડેલને JSON ફોર્મેટમાં કન્વર્ટ કરતી વખતે કયા ફીલ્ડ્સનો સમાવેશ કરવો જોઈએ તે વ્યાખ્યાયિત કરે છે. આ કિસ્સામાં, તેમાં ફીલ્ડ્સ શામેલ છે: id
, name, and 'model1'.
Save Foreign Key Using Django Rest Framework
In Django, you can use the save_foreign_key() function to save a foreign key in a model. This function takes two arguments: the model name and the name of the column in the model that stores the foreign key.
To save a foreign key in a model named "MyModel", you would use the following code:
save_foreign_key("MyModel", "id")
What is Foreign key
A foreign key is a column in a table that references a column in another table. When you insert data into the table, Django automatically creates the foreign key for you.