แก้ไขแล้ว: วิธีโพสต์ข้อมูลไปยัง foreign key ในเฟรมเวิร์กส่วนที่เหลือของ django

ปัญหาหลักคือคุณต้องใช้วิธี 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.

Related posts:

Leave a Comment