class CategoryAdmin(admin.ModelAdmin):
list_display = ('name','admins') #admin是外键
def admins(self,obj):
return obj.admins.username
class CategoryAdmin(admin.ModelAdmin): list_display = ('name','admins') #admin是外键 def admins(self,obj): return obj.admins.username
需求:序列化
外键
,获取
外键
的除id之外的值
使用
Django
REST Framework虽然开发接口快速,但是如果想要获取到除
外键
id值之外的
外键
信息,直接继承serializers.ModelSerializer类,然后在fields
中
指定返回的
字段
是获取不到
外键
的其他值的,比如我现在需要
外键
的name属性值,下面就给大家介绍两种方法通过序列化
外键
来获取我们想要的
外键
的值。
这里有两个Model:问卷(Questionnaire);问题(Question)。一张问卷
中
包含多个问题,问题通过
外键
关联对应的问卷。
model.py
class Questionnaire(models.Mod
class UserInfo(models.Model):
username = models.CharField(verbose_name='用户名', max_length=32)
password = models.CharField(verbose_name='密码
一、内容回顾1、
Django
请求的生命周期: 路由系统 -> 视图函数(获取模板+数据 -> 渲染) -> 字符串返回给用户2、路由系统:/index/ #-> 函数或类.as_view()
/detail/(\d+) #-> 函数(参数) 或 类.as_view()(参数)
/detail/(?P<nid>\d+) #-> 函数(参数
创建 blog 的管理后台
首先是 blog 这个 App,其
中
定义了 3个 Model,分别是 Category、Post 和 Tag。先创建 admin 页面,其代码需要写到 blog/admin.py 这个文件
中
。
编写 Tag 和 Category 的管理后台
from
django
.contrib import admin
from .models import Post, ...
django
中
admin设置-让你的admin后台更加漂亮实用
from
django
.contrib import admin
from Interface_App.models import Sql_Interface
# 登录时
显示
的名称
admin.site.site_header = '平台管理后台1111'
![登录时
显示
的名称](https://img-blog.csdnimg.cn/20201230105941608.png?x-oss-process=image/watermark,ty
#modelsclass Category(models.Model):
name = models.CharField(max_length=64,unique=True)
admins = models.ForeignKey(User,blank=True,on_delete=models.CASCADE)
默认情况下,admin仅
显示
一个
字段
。我们可以配置admin,让其
显示
多个
字段
:
class departAdmin(admin.ModelAdmin):
list
_
display
= ('name','longName','father')
class managerAdmin(admin.ModelAdmin):
list
_
display
= ('name'...
首先,我这个想增加这个模型数据时有一个下拉选项是Customer表
中
的
字段
,然后想通过选择该选项保存后,把这个选项的值添加到本表
中
的customer_name
字段
。
第一个红框处是
外键
关联表名,第二个红框处是关联
字段
名,第三个是级联删除动作,必须要有,不然报错。
2.因为要做
外键
关联,所以models
中
,Customer这张表就必须要加unique=True唯一参数,不然一样会报错。还有就是因为要返回是个
字段
的值,而不是一个数据集,所以在python3
中
我们要添加一个
这样才能使下拉选项是
字段
的值,
在
django
的后台管理站点插入数据时,发现需要添加
外键
时,下拉框
中
不
显示
值
按照
显示
内容
中
的object,考虑这里应该是调用的模型类的objects对象方法,那么去models.py
中
对模型类添加一个__str__方法:
重新启动服务器,刷新下网页:
该问题已得到解决!
转载于:https://www.cnblogs.com/Horace-blogs/p/11...
外键
使用的先决条件:
在mysql数据表
中
,数据引擎有很多种,最常用的就是InnoDB和MyISAM,只有主表和从表的数据库引擎都是InnoDB时,表与表之间才能使用
外键
连接
外键
介绍:
外键
在
django
的ORM连表操作时非常常...
```python
from rest_framework import serializers
from myapp.models import MyModel, RelatedModel
class MyModelSerializer(serializers.ModelSerializer):
related_model = serializers.PrimaryKeyRelatedField(queryset=RelatedModel.objects.all())
class Meta:
model = MyModel
fields = ('id', 'name', 'related_model')
这里定义了一个名为 related_model 的
外键
字段
,使用 PrimaryKeyRelatedField 类型,并指定了 RelatedModel 的 queryset。
2. 修改视图
在视图
中
使用 MyModelSerializer 进行序列化时,需要将
外键
字段
显式地传入,例如:
```python
from rest_framework import generics
from myapp.models import MyModel
from myapp.serializers import MyModelSerializer
class MyModel
List
(generics.
List
CreateAPIView):
queryset = MyModel.objects.all()
serializer_class = MyModelSerializer
def perform_create(self, serializer):
serializer.save(related_model=self.request.user)
这里定义了一个名为 MyModel
List
的视图,使用 MyModelSerializer 进行序列化。在 perform_create 方法
中
,将
外键
字段
related_model 显式地传入。
这样就可以在
Django
的 ModelSerializer
中
增加一个
外键
字段
了。
UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: illegal multibyte sequence
45457
Using the URLconf defined in catsui.urls, Django tried these URL patterns, in this order:
Using the URLconf defined in catsui.urls, Django tried these URL patterns, in this order:
南方勇士:
Using the URLconf defined in catsui.urls, Django tried these URL patterns, in this order:
南方勇士:
Using the URLconf defined in catsui.urls, Django tried these URL patterns, in this order:
南方勇士:
Using the URLconf defined in catsui.urls, Django tried these URL patterns, in this order:
南方勇士:
Command line is too long.Shorten command line for Application or also for Spring Boot default config
vscode操作vue项目的相关步骤