zoukankan      html  css  js  c++  java
  • 实验楼路径模块具体操作

    class Path(Base):
        title = models.CharField('路径标题', max_length=24)
        img = models.ImageField('路径图片', upload_to='path', null=True)
        desc = models.CharField('路径描述', max_length=255)
        user = models.ManyToManyField('user.User', blank=True)
    
        def course_total(self):
            count = 0
            for jd in self.jieduan.all():
                count = count + jd.courses.count()
            return count
    
        class Meta:
            db_table = "tb_path"
    
        def __str__(self):
            return self.title

    #阶段表
    class JieDuan(Base):
        title = models.CharField('阶段名', max_length=24)
        serial_num= models.IntegerField('阶段xuhao')
        path=models.ForeignKey(Path,related_name='jieduan',on_delete=models.SET_NULL,null=True)
        courses = models.ManyToManyField(Course, blank=True)
    
        class Meta:
            db_table="tb_jieduan"
    
        def __str__(self):
            return "%s-第%s阶段-%s" %(self.path.title,self.serial_num,self.title)
    #序列化
    
    class JieDuanSerializer(serializers.ModelSerializer):
        courses=CourseSerializer(many=True)
        class Meta:
            model =JieDuan
            fields = "__all__"
    
    
    class PathSerializer(serializers.ModelSerializer):
        # jieduan=JieDuanSerializer(many=True)
        class Meta:
            model=Path
            fields="__all__"
    
    class PathDeepSerializer(serializers.ModelSerializer):
        jieduan=JieDuanSerializer(many=True)
        class Meta:
            model=Path
            fields="__all__"
    #注册子路由
    from django.contrib import admin
    from django.urls import path,include
    from django.conf.urls.static import static
    from  syl import settings
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('user/', include('user.urls')),
        path('verify/', include('verifications.urls')),
        path('oauth/', include('oauth.urls')),
        path('course/',include('course.urls'))
    ]
    
    
    #主路由
    router.register(r'path',views.PathVIewSet)
    #进行创建视图
    
    class PathVIewSet(viewsets.ModelViewSet):
        queryset = Path.objects.all()
        serializer_class =PathSerializer
        def  get_serializer_class(self):
            if self.action=="list":
                return PathSerializer
            else:
                return PathDeepSerializer

    做最野的狼
  • 相关阅读:
    守护线程
    接口中的方法重写
    jvm内存结构
    浅拷贝,深拷贝
    队列
    12月4号荒度了一天
    同步条件
    条件变量
    信号量Semaphore
    sql练习
  • 原文地址:https://www.cnblogs.com/shanjiaaa/p/13811273.html
Copyright © 2011-2022 走看看