在Django中,related_name参数用于定义反向关系的名称,即通过外键字段反向查询关联模型的对象。related_name的值是一个字符串,可以是大写也可以是小写,但通常建议使用小写字母,因为它们更符合Python的命名约定(PEP 8)。 具体规则如下: 小写字母:通常情况下,建议使用小写字母作为related_name的值。例如: classAuthor(models...
verbose_name Admin中显示的字段名称 blank Admin中是否允许用户输入为空 editable Admin中是否可以编辑 help_text Admin中该字段的提示信息 choices Admin中显示选择框的内容,用不变动的数据放在内存中从而避免跨表操作 如:gf = models.IntegerField(choices=[(0, '何穗'),(1, '大表姐'),],default=1) error_...
但是从class 拿students数据 就不好拿了,当然也可以拿,默认的方式是class.students_set.all() 也可以拿到 不过这样麻烦,简单一点就是设置一个related_name=classs属性直接 class.classs.all() 就可以了
classBlog(models.Model):name=models.CharField(max_length=100)tagline=models.TextField()classEntry(models.Model):blog=models.ForeignKey(Blog,on_delete=models.CASCADE)headline=models.CharField(max_length=255)body_text=models.TextField()pub_date=models.DateField()mod_date=models.DateField()authors=model...
在这里也会牵涉到另外一个知识点related_name的使用,在models.py使用Foreign定义外键的时候也可以传入一个参数related_name,操作如下: 执行python manage.py makemigrations 和 python manage.py migrate 从上图可以看到和之前的_set操作的效果是一样的,这两个方法是相同的,所以如果觉得比较麻烦的话,可以在定义主表的...
set,具体到这个就是student_set,默认返回的是QuerySet,操作如下:在这⾥也会牵涉到另外⼀个知识点related_name的使⽤,在models.py使⽤Foreign定义外键的时候也可以传⼊⼀个参数related_name,操作如下:执⾏python manage.py makemigrations 和 python manage.py migrate ...
在这里也会牵涉到另外一个知识点related_name的使用,在models.py使用Foreign定义外键的时候也可以传入一个参数related_name,操作如下: 执行python manage.py makemigrations 和 python manage.py migrate 从上图可以看到和之前的_set操作的效果是一样的,这两个方法是相同的,所以如果觉得比较麻烦的话,可以在定义主表的...
执行python manage.py makemigrations 和 python manage.py migrate image.png 从上图可以看到和之前的_set操作的效果是一样的,这两个方法是相同的,所以如果觉得比较麻烦的话,可以在定义主表的外键的时候,直接就给外键定义好名称使用related_name 上面的查询主要是通过主表查询子表的信息 ...
for entry in Entry.objects.all()[:10] if entry.blog: print(entry.blog.name) else: print("没有关联 blog 数据") 但是这样会有一个问题,那就是,这个 for 循环的操作会查询数据十一次,一次查询 Entry 数据,十次是查询每个 entry_obj 关联的 blog 数据。 这个设计对于系统来说是不合理的,想一想如果我...
比如我们需要获取 Entry 的前十条数据,然后打印出关联的 Blog 的 name 字段信息。 我们一般会如此操作: for entry in Entry.objects.all()[:10] if entry.blog: print(entry.blog.name) else: print("没有关联 blog 数据") 但是这样会有一个问题,那就是,这个 for 循环的操作会查询数据十一次,一次查询 ...