Preventing django from appending “_id” to a foreign key field

后端 未结 2 573
-上瘾入骨i
-上瘾入骨i 2021-02-02 08:26

In django, if I set a field in a model to a foreign key, \"_id\" is appended to the name of that field. How can this be prevented?

2条回答
  •  遇见更好的自我
    2021-02-02 09:01

    When using the foreign field in a model, Django creates two fields: One for the actual link, and one that references the other model.

    class A(Model):
        i = IntegerField()
    
    class B(Model):
        a = ForeignKey(A)
    

    In B there is now two fields: a and a_id. a_id is the unique id as stored in the database, while a can be used to directly access the fields in A, like this:

    b = B.objects.get(...)
    b.a.i = 5;   # Set the field of A
    b.a.save()   # Save A
    

提交回复
热议问题