前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Django实战-调查问卷表设计

Django实战-调查问卷表设计

作者头像
小团子
发布于 2019-10-09 07:40:07
发布于 2019-10-09 07:40:07
2.8K00
代码可运行
举报
文章被收录于专栏:数据云团数据云团
运行总次数:0
代码可运行

Django实战-csrf_token 跨站请求

Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。

设计如下类型的调查问卷表:问卷类型包括(打分,建议,选项),先来看看一个简单的问答。

  • 您最擅长的是什么编程语言?
  • A.Java  B.C++ C. Python D.PHP

对于上面一个类型的问答,可以知道,一个问卷系统主要包括:问卷,问卷中每个题目,每个题目的答案,以及生成问卷记录。常规设计表如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from django.db import models
from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation
from django.contrib.contenttypes.models import ContentType
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Survery(models.Model):
    """
    问卷
    ID        name            by_class      creator
    1    第一次班级调查      大一计算机205班     张老师
    """
    name = models.CharField(verbose_name="调查问卷名称", max_length=128, unique=True)
    by_class = models.ForeignKey("ClassList", verbose_name="问卷调查班级", on_delete=models.SET_NULL)
    date = models.DateTimeField(verbose_name="问卷创建日期", auto_now_add=True)
    creator = models.ForeignKey("UserInfo", verbose_name="创建者", on_delete=models.SET_NULL)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class SurveryItem(models.Model):
    """
    问卷题目
    ID                 survery                       name                   date          answer_type
     1    1(代表上面创建的第一次班级调查)      您最喜欢吃什么水果?         xxx-xxx-xx             1
     1    1(代表上面创建的第一次班级调查)      您最喜欢看什么书籍?         xxx-xxx-xx             2
     1    1(代表上面创建的第一次班级调查)      您最喜欢什么英雄人物?       xxx-xxx-xx             3
    """
    survery = models.ForeignKey('Survery', verbose_name='问卷', on_delete=models.SET_NULL)
    name = models.CharField(verbose_name="调查问题", max_length=255)
    date = models.DateField(auto_now_add=True)
    answer_type_choices = (
        (1, "打分(1~10分)"),
        (2, "单选"),
        (3, "建议"),
    )
    answer_type = models.IntegerField(verbose_name="问题类型", choices=answer_type_choices, default=1)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class SurveryChoices(models.Model):
    """
    问卷选项答案(针对选项类型)
    ID    item    content   points
    1       2       A         101       2       B         91       2       C         81       2       D         7"""
    item = models.ForeignKey('SurveryItem', verbose_name='问题', on_delete=models.SET_NULL)
    content = models.CharField(verbose_name='内容', max_length=256)
    points = models.IntegerField(verbose_name='分值')
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class SurveryRecord(models.Model):
    """
    问卷记录
    ID    survery      student_name   survery_item  score  single  suggestion  date
    1        1            1               1          10null      null    xxxxx     
    1        1            1               2          null     A       null    xxxxx     
    1        1            1               3          null   null      XXXXX    xxxxx     
    """
    survery = models.ForeignKey('Survery', verbose_name="问卷", on_delete=models.SET_NULL)
    student_name = models.ForeignKey('Student', verbose_name="学生姓名", on_delete=models.SET_NULL)
    survery_item = models.ForeignKey('SurveryItem', verbose_name="调查项", on_delete=models.SET_NULL)

    score = models.IntegerField(verbose_name="评分", blank=True, null=True)
    single = models.ForeignKey('SurveryChoices', verbose_name='单选', blank=True, null=True, on_delete=models.SET_NULL)
    suggestion = models.TextField(verbose_name="建议", max_length=1024, blank=True, null=True)

    date = models.DateTimeField(verbose_name="答题日期", auto_now_add=True)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Django实战-调查问卷表设计优化
Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
小团子
2019/10/09
2K0
Django实战-调查问卷表设计优化
Django——ContentType(与多个表建立外键关系)及ContentType-signals的使用
 在django中,有一个记录了项目中所有model元数据的表,就是ContentType,表中一条记录对应着一个存在的model,所以可以通过一个ContentType表的id和一个具体表中的id找到任何记录,及先通过ContenType表的id可以得到某个model,再通过model的id得到具体的对象。
用户1214487
2022/03/26
4.6K0
Django——ContentType(与多个表建立外键关系)及ContentType-signals的使用
Django实战-信息资讯-资讯模型
Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
小团子
2019/07/18
5510
Django实战-信息资讯-资讯模型
Django ORM模型设计-客户关系管理
Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
小团子
2019/11/08
8370
Django ORM模型设计-客户关系管理
Django+xadmin打造在线教育平台(一)
代码 github下载  一、前言 代码下载:  开发环境:     python:  3.6.4     Django: 2.0.2 后台管理:xadmin 1.1.项目介绍 系统概括: 系统具有完整的用户登录注册以及找回密码功能,拥有完整个人中心。 个人中心: 修改头像,修改密码,修改邮箱,可以看到我的课程以及我的收藏。可以删除收藏,我的消息。 导航栏: 公开课,授课讲师,授课机构,全局搜索。 点击公开课–> 课程列表,排序-搜索。热门课程推荐,课程的分页。 点击课程–> 课程详情页中对课程进行收藏,
zhang_derek
2018/04/11
5.9K1
Django+xadmin打造在线教育平台(一)
day100-Exception继承定义错误信息&结算接口&结算数据结构
1.Exception的继承 # 自定义继承类继承 Exception class MyException(Exception): def __init__(self, code, msg): self.code = code self.msg = msg # 自定义相应信息 class BaseResponse: def __init__(self): self.code = '' self.error = ''
少年包青菜
2020/03/26
7120
Django REST framework+Vue 打造生鲜超市(二)
三、Models设计 3.1.项目初始化 (1)进虚拟环境下安装 django2.0.2 djangorestframework和相关依赖mark,filter pillow  图片处理 pip install djangorestframework pip install -i https://pypi.douban.com/simple django==2.0.2 pip install markdown pip install django-filter pip install pillow
zhang_derek
2018/04/11
2.2K0
Django REST framework+Vue 打造生鲜超市(二)
广告小程序后端开发(2.Models设计)
3.其中“提现记录表”是暂时的,等到后期如果微信的“企业提款到零钱”功能可以开放使用,则要对这个表进行修改。
玩蛇的胖纸
2019/05/14
6820
【云+社区年度正文】Django从入门到精通No.2----模型
学过orm系统自然之道模型的重要性,很多web站点都需要与数据库交互,这个时候模型的设计就显得尤为重要,一个好的模型会使得项目方便管理并且易于维护,比如我们学过的flask,里面的sqlalchemy就是这样一个优秀的模块,通过它可以快速和数据库建立通道,从而使得web编程更为高效,本文主要讲解django的模型。
Python进阶者
2020/11/27
2.3K0
【云+社区年度正文】Django从入门到精通No.2----模型
Django实战-生鲜电商-模型层
经过前几小节的介绍,ORM 的基础应用,如何把一张数据表建好,方便各张表之间的数据处理。从第一张用户表开始,就意味着整个站点的数据表能有多大的扩展能力。
小团子
2019/07/18
5800
Django实战-生鲜电商-模型层
2.Model设计
Model设计 1.在settings.py中配置: AUTH_USER_MODEL='users.UserProfile' 2.在apps/users/models.py中: from django.db import models from django.contrib.auth.models import AbstractUser from datetime import datetime from django.utils.safestring import mark_safe # Create
玩蛇的胖纸
2020/06/10
3730
Django实战-信息资讯-付费资讯基础模型
Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
小团子
2019/07/18
5600
Django实战-信息资讯-付费资讯基础模型
Django模型
Django的模型定义在models.py文件中。模型是MVT中的M,也相当于MVC中的M。
zy010101
2021/10/09
2.1K0
Django模型
Django+Vue开发生鲜电商平台之3.数据模型设计和资源导入
Github和Gitee代码同步更新: https://github.com/corleytd/Django_Fresh_Ecommerce; https://gitee.com/Python_Full_Stack/Django_Fresh_Ecommerce。
cutercorley
2020/07/23
2K0
Django+Vue开发生鲜电商平台之3.数据模型设计和资源导入
CRM客户关系管理系统(一) 第一章、CRM介绍和开发流程第二章、CRM项目表结构设计
第一章、CRM介绍和开发流程 1.1.CRM简介 客户关系管理(CRM)         客户关系管理(customer relationship management)的定义是:企业为提高核心竞争力,利用相应的信息技术以及互联网技术协调企业与顾客间在销售、营销和服务上的交互,从而提升其管理方式,向客户提供创新式的个性化的客户交互和服务的过程。其最终目标是吸引新客户、保留老客户以及将已有客户转为忠实客户,增加市场。 作用 1.提高市场营销效果 2.为生产研发提供决策支持 3.提供技术支持的重要手段 4.为财
zhang_derek
2018/05/30
4.6K0
Django开发在线教育平台--学习整理(一)
首先,打开cmd,cd到存放django项目的文件夹,创建一个新工程(也可以用虚拟环境virtualenv):
SimonDM
2018/05/09
3.1K4
Django开发在线教育平台--学习整理(一)
越光后端开发——ygapi(2.新建Model)
1.新建Model 1.users数据 1.在apps/users/models.py中: from datetime import datetime from django.db import models from django.contrib.auth.models import AbstractUser # Create your models here. class UserProfile(AbstractUser): """ 管理员 """ name=mod
玩蛇的胖纸
2019/03/15
3810
越光后端开发——ygapi(2.新建Model)
Vue+Django2.0 restframework打造前后端分离的生鲜电商项目(1)
  新版的pycharm很贴心的让每一个新的项目,都自动会在一个虚拟环境中,放心的新建项目就可以了,不用考虑虚拟环境的事儿了
玩蛇的胖纸
2018/10/10
2K0
Vue+Django2.0 restframework打造前后端分离的生鲜电商项目(1)
【愚公系列】2022年01月 Python教学课程 40-Django框架之模型属性详解
模型类如果未指明表名,Django默认以小写app应用名_小写模型类名为数据库表名。
愚公搬代码
2022/12/01
1.5K0
Django 系列博客(十三)
int 自增列,必须填入参数 primary_key=True。当 model 中如果没有自增列,则会自动创建一个列名为 id 的列。
py3study
2020/01/22
1.3K0
推荐阅读
相关推荐
Django实战-调查问卷表设计优化
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验