class MenuList(admin.ModelAdmin): list_display = ('menuId', 'menuName', 'menuDesc', 'menuType', 'sort_order') def formfield_for_foreignkey(self, db_field, request, **kwargs): if db_field.name == 'status': #外键字段 kwargs["queryset"] = DictItem.obje…
一.内容回顾 1.Django请求的生命周期: ​ 路由系统 -> 视图函数(获取模板+数据 -> 渲染) -> 字符串返回给用户 2.路由系统: /index/ #-> 函数或类.as_view() /detail/(\d+) #-> 函数(参数) 或 类.as_view()(参数) /detail/(?P<nid>\d+) #-> 函数(参数) 或 类.as_view()(参数) /detail/ #-> include("app01.u…
两个方法其实是一种,用哪个都行,看实例:   方法一: 从list_filter中的字符串,找到model对象的字段,然后得到这个外键对应的类 循环,把list_filter中对应的类所有对象 方法二:     两方法实际上是一样的,导入方式和使用方式不同: 方法一:         导入:from django.db.models.fields.related import ForeignKey,ManyToManyField         使用:field.rel.to 方法二:     …
今天在做mxonline项目时,注册了用户表进admin后,想在后台添加一个用户试试,结果出现了错误,经过一番搜索发现以下两个解决方法,不过我只用了一种 报错信息: IntegrityError: (1452, u'Cannot add or update a child row: a foreign key constraint fails (`mxonline`.`django_admin_log`, CONSTRAINT `django_admin_log_user_id_c564eba6…
需要插入的数据表结构如下: class UserInfo(models.Model): user_id =models.AutoField(primary_key=True) user_name=models.CharField(max_length=20,unique=True) depart=models.ForeignKey(DepartmentInfo) role=models.ManyToManyField(Role) *注:从上述类中可以看出UserInfo除了一般的表项外,还有有一…
假设有两张表,Role和User,因为多个用户会对应一个角色,属于多对一关系,所以User中的rolename字段使用ForeignKey,第一个参数为要关联的表Role,第二个参数related_name是用来反查这个角色下有几个用户时用的. class Role(models.Model): ''' 角色表 ''' role_name = models.CharField(max_length=50) create_time = models.DateTimeField(auto_now_a…
向同一个模型的外键反向关联名称产生了冲突 一个模型中有两个外键指向同一张表时,创建迁移模型时报错:" HINT: Add or change a related_name argument to the definition for 'AnswersModel.author' or 'AnswersModel.relay_to'."解决方案 class AnswersModel(models.Model): author = models.ForeignKey(FrontUserMod…
前言 前面在admin后台页面通过设置外键,可以选择下拉框的选项,本篇主要讲解关于外键(ForeignKey)的查询 models设计 在上一篇的基础上新增一个BankName表,Card表通过外键关联到BankName class BankName(models.Model): '''银行信息''' bank_name = models.CharField(max_length=50, verbose_name="银行名称", default="") city =…
class AnswersModel(models.Model): author = models.ForeignKey(FrontUserModel,null=True,related_name='answers_user') -- relay_to = models.ForeignKey(FrontUserModel,null=True,related_name='relay_to_user')当模型执行迁移时会报:HINT: Add or change a related_name arg…
回顾4 连接查询: 连接多张表到一起,不管记录数如何,字段数一定会增加. 分类:内连接,外连接.自然连接,交叉连接, 交叉连接:cross join (笛卡尔积) 内连接:inner join,左右两张表有连接条件匹配(不匹配自动忽略) 外连接:left/right join 主表的一条记录一定会存在匹配保留副表数据,否则置空 自然连接:natural join 自动匹配(相同字段名) PHP操作:mysql Php充当客户端,开启mysql扩展 连接认证:mysql_connect;执行sql…