django model ForeignKey ,解决外键字段增加_id 的问题

发布时间 2023-04-08 12:57:58作者: BillBie

例如:

主表-模型: Author :id,name

副表-模型 : Book :id,author(ForeignKey:Author),name

 

1.数据库字段增加_id的问题,网上有很多教程,可以使用 db_column ='your name'

2.当Book查询中,使用filter,all 等查询,都会得到 字段author_id ,而不是author,可以使用values(),方法指定字段名称,例如values('author'),则会得到 author字段,而不是author_id

3.在Book查询中,使用filter,all 等查询,想获得 Author.name,默认返回的为author__name(双下划线),如果想获得本身的字段名, 则可以在values()中结合F()指定字段名称

from django.db.models import F

books = Book.objects.filter(F(name='author_name'))