技术分享1 分钟阅读
ModelViewSet快速实现接口正删改查的添加
ModelViewSet快速实现接口正删改查的添加
ModelViewSet实现接口通用的增删改查
添加model类
class Locusts(models.Model):
create_time = models.DateTimeField('创建日期', auto_now=True)
create_user = models.CharField('创建人',max_length=32, null=True)
uptime = models.DateTimeField(auto_now=True, verbose_name='更新时间')
update_user = models.CharField('更新人', max_length=32,null=True)
path = models.CharField('文件路径', max_length=32,null=True)
content = models.TextField('文件内容', null=True)
serializers类添加
from rest_framework import serializers
from apitest.models import Locusts
class LocustSerializers(serializers.ModelSerializer):
class Meta:
model=Locusts
fields='__all__'
read_only_fields = ('id', 'create_user', 'create_time')
外键数据展示
•
在meta类之前添加需要返回的数据:locust_name = serializers.CharField(source='locust.name')
class LocustReportSerializers(serializers.ModelSerializer):
locust_name = serializers.CharField(source='locust.name')
class Meta:
model = LocustReport
fields = '__all__'2.在meta类中添加 depth = 1 参数,可以把关联的外键的所以参数一起返回
class LocustReportSerializers(serializers.ModelSerializer):
class Meta:
model = LocustReport
fields = '__all__'
depth = 1
view视图接口添加
class LocustList(ModelViewSet):
queryset = Locusts.objects.all().order_by('-create_time')
serializer_class = LocustSerializers
添加路由
from rest_framework.routers import DefaultRouter
from apitest import views
router = DefaultRouter()
router.register("locust",views.LocustList) #添加路由
urlpatterns = [
path(r'', include(router.urls)),
]
有关使用上的问题,欢迎您在底部评论区留言,一起交流~
读者评论
评论会同步写入该文在 Notion 中的页面底部(与正文同页,便于管理)。
暂无评论,欢迎抢沙发。