码迷,mamicode.com
首页 > 数据库 > 详细

Django admin 后台操作数据库以问卷调查为例

时间:2017-10-10 14:30:14      阅读:904      评论:0      收藏:0      [点我收藏+]

标签:model   mode   python   char   ext   tab   ons   name   bsp   

Django的后台功能是很强大的,我先简单的写一点(本人新手)。

1,先创建数据库(我用的python2.7):

  在字段里显示的汉字是为了方便后台管理

class Thequestion(models.Model):
name=models.CharField(u‘问卷名‘,max_length=30)
number=models.IntegerField(u‘问卷填写人数‘,default=0)
create_time=models.DateTimeField(auto_now_add=True)

def __unicode__(self):
return self.name

class Questionproblem(models.Model):
questions=models.ForeignKey(Thequestion)
problem_name=models.CharField(u‘题的名称‘,max_length=200)
Ques_type=models.BooleanField(u‘题的类型‘,default=False)#为False时为单选题


def __unicode__(self):
return self.problem_name

class Choice(models.Model):
question=models.ForeignKey(Questionproblem)
choice_text=models.CharField(u‘选项名‘,max_length=200)
votes=models.IntegerField(u‘选择的个数‘,default=0)

def __unicode__(self):
return self.choice_text

2,在admin.py里进行操作,暂时不知道如何将问卷名+题+选项整合到同一个页面上
class QuestionInline(admin.TabularInline):#为了在问卷页面输入你的问卷题目这是默认有6题
model = Questionproblem
extra = 6


class ChoiceInline(admin.TabularInline):每题有4个选项
model = Choice
extra = 4


class QuestiionAdmin(admin.ModelAdmin):
fieldsets = [
(None, {‘fields‘: [‘problem_name‘]}),#在后台可以看到问题名称
(None, {‘fields‘: [‘Ques_type‘]}),#题的类型
]
inlines = [ChoiceInline]#题对应的选项


class TheAdmin(admin.ModelAdmin):
fieldsets = [
(None, {‘fields‘: [‘name‘]}),# 问卷的名称
(None, {‘fields‘: [‘number‘]}),#问卷答题数量

]
inlines = [QuestionInline]#问卷对应的题


admin.site.register(Questionproblem, QuestiionAdmin)
admin.site.register(Thequestion, TheAdmin)
admin.site.register(Choice)
 




Django admin 后台操作数据库以问卷调查为例

标签:model   mode   python   char   ext   tab   ons   name   bsp   

原文地址:http://www.cnblogs.com/FYC8/p/7645101.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!