首页 > 其他分享 >django model ForeignKey ,解决外键字段增加_id 的问题

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

时间:2023-04-08 13:00:23浏览次数:36  
标签:name author Author ForeignKey 外键 django Book id

例如:

主表-模型: 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'))

  

标签:name,author,Author,ForeignKey,外键,django,Book,id
From: https://www.cnblogs.com/BillBie/p/17298338.html

相关文章

  • MySQL外键约束
        ONDELETERESTRICT(约束):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除。NOACTION:意思同RESTRICT.即如果存在从数据,不允许删除主数据。CASCADE(级联):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外......
  • flask_day05:信号 Django信号 flask-script sqlalchemy 创建操作数据表
    目录回顾信号比如:用户表新增一条记录时,就记录一下日志内置信号:flask少一些,Django多一些使用内置信号量的步骤自定义信号Django信号django中使用内置信号flask-script自定制命令sqlalchemy快速使用原生操作的快速使用创建操作数据表鲁棒性链路,链路追踪,上下游,大的单体应用,上游还......
  • django中使用orm连接mysql,setting.py的设置
    默认使用的时sqllite数据库,我们需要改成mysql,只要需要填写相关信息即可。比如mysql的数据库名,用户名,密码,主机地址,端口等信息#Database#https://docs.djangoproject.com/en/4.1/ref/settings/#databases#DATABASES={#'default':{#'ENGINE':'django.db.b......
  • 外键约束
     代码:createtabledept(idintprimarykeyauto_incrementcomment'ID',namevarchar(50)notnullcomment'姓名')comment'部门表';insertintodept(id,name)values(1,'研发部'),(2,�......
  • django/flask高并发部署
    django和flask是同步框架,部署的时候使用uwsgi部署,uwsgi是多进程多线程框架,并发量不高大概几十。我们可以通过uwsgi加gevent部署成异步程序,普通的部署方式uwsgi-x./luffyapi.xml这是使用genvent提高并发部署uwsgi--gevent50--gevent-monkey-patch./luffyapi.xml......
  • 学习使用VUE3+Django+GraphQL实现简单的Blog网站
    这周每天花点时间学习使用VUE3+Django+GraphQL的使用,按照RealPython的网站的教程走了一遍,踩了一遍坑.Realpython上的教程使用的是Vue2的Vue-CLI模块,Vue本身已经进化到VUE3,并且推荐使用Vite代替Vue-CLI.我按照教程上的步骤将代码转化为VUE3+Vite+CompositionAPI模式.在这里......
  • Django条件查询的Case,When具体使用
    这个操作类似于数据库中ifelifelse的逻辑。1、数据准备:models.pyclassClient(models.Model):REGULAR='R'GOLD='G'PLATINUM='P'ACCOUNT_TYPE_CHOICES=[(REGULAR,'Regular'),(GOLD,'Gold&#......
  • django-content-type简单示例
    fromdjango.contrib.contenttypes.fieldsimportGenericForeignKeyfromdjango.contrib.contenttypes.modelsimportContentTypefromdjango.dbimportmodelsclassComment(models.Model):content_type=models.ForeignKey(ContentType,on_delete=models.CASCA......
  • django记录基础操作日志
    1.新增middleware.py中间件:需要在setting.py注册classLoggingMiddleware:"""日志记录模块:操作用户、操作ip、请求路径、请求方式、请求时间"""def__init__(self,get_response):self.get_response=get_responsedef__call__(self,......
  • pg数据库查找外键但没有索引的sql
    SELECTpg_index.indexrelid::regclass,'createindex'||relname||'_'||array_to_string(column_name_list,'_')||'_idxon'||conrelid||'('||array_to_string(column_name_list,......