当前位置:首页>开发>正文

django如何设置外键 如何在Django Admin中显示外键的外键

2023-04-12 14:22:14 互联网 未知 开发

 django如何设置外键 如何在Django Admin中显示外键的外键

django如何设置外键

先给data赋值了之后,再去用p保存。例如:
data=Lessonruntime()
data.***=*** #(给data的列赋值)
data.save() #保存data(注,只有在新建data数据时才要,否则用 Lessonruntime.object.get()来获取data的值)
p = Checkinlog(lessonruntimeid=data)

p.save()
这样就可以了。
不可以用 p = Checkinlog(lessonruntimeid=1134)的方式进行赋值。

如何在Django Admin中显示外键的外键

如何在Django Admin中显示外键的外键
在专业类里面定义一个默认的__unicode__(self)方法,参考以下伪代码

def __unicode__(self):

dreturn (学校:%s,学院:%s,专业:%s %(self.学院.学校,self.学院,self.专业))

django model里怎么实现外键对多种model

首先题主用的Django版本是什么,django貌似没见过ForeignModel,根据orm,ForeignKey实际上就是sql里面的外键,个人理解楼主的题目是能不能一个字段对应多个其他表,如下:
class WhatAreYouTryToAsk:
filed_XXX = models.ForeignKey((ModelA,ModelB,))

这是不科学的啊亲,对于sql来说也不会一个字段能对应多个外键,想实现这种效果只能是有一张ModelA,ModelB的中间表,而filed的外键对应这张中间表
class MiddleTable(models.Model):
model_a = models.ForeignKey(ModelA)
model_b = models.ForeignKey(ModelB)

class WhatAreYouTryToAsk:
filed_XXX = models.ForeignKey(MiddleTable)

简单的说就是ModelA和ModelB有一个多对多的关系,上面的方法是显示的指明一个MiddleTable表,实时上可以使用Django里面的ManyToMany,ManyToMany的实际上会建一张中间表,因此你可以在ModelA或ModelB建立一个ManyToMany的字段,具体ManyToMany的用法请查阅文档。
class ModelA(models.Model):
model_bs = ManyToMany(ModelB)

class WhatAreYouTryToAsk:
filed_XXX = models.ForeignKey(ModelA)
# or this, 具体实现看需求
# filed_XXX = models.ForeignKey(ModelB)

django中怎样调用指定外键的值

class B(models.Model):
entry = models.TextField()

class A(models.Model):
b = models.ForeignKey(B)

a = A.objects.get(id=1)
print a.b.entry

django中model的外键怎么从主表中获取值

例如A表有个属性a,是B表b的外键,那么在创建b的时候,Models.ForeignKey中,有个属性叫related_name,设置为d,具体调用时,temp =A(),temp.d就可以调用