django model定义


from django.db import models

# Create your models here.
class Question_Simple(models.Model):
    ANSWER=(
        ('A','A'),
        ('B','B'),
        ('C','C'),
        ('D','D'),
    )
    CHAPTER={
        ('A','第一章节'),
        ('B','第二章节'),
        ('C','第三章节'),
        ('D','第四章节'),
        ('E','第五章节'),
        ('F','第六章节'),
        ('G','第七章节'),
        ('H','第八章节'),
        ('I','第九章节'),
        ('J','第十章节'),
    }
    id = models.AutoField(primary_key=True)
    chapter=models.CharField('章节',max_length=10,choices=CHAPTER)
    title=models.TextField('题目')
    optionA=models.CharField('A选项',max_length=30)
    optionB=models.CharField('B选项',max_length=30)
    optionC=models.CharField('C选项',max_length=30)
    optionD=models.CharField('D选项',max_length=30)
    answer=models.CharField('答案',max_length=10,choices=ANSWER)

    class Meta:
        db_table='question'
        verbose_name='单项选择题库'
        verbose_name_plural=verbose_name
    def __str__(self):
        return '<%s:%s>'%(self.chapter,self.title);


img


Django定义了一个model,然后其中有一项是章节,不知道为什么在页面中选择的时候是乱序出现的,我希望它能够按顺序第一章、第二章等等依次出现,想问一下有没有好的办法解决

这个要建议另外做一个数字章节序号字段, 不然到几十章,一百章,都要折腾一下。

章节做成外键吧,外键中的meta中间上odering=‘id’

我看你的是连了 mysql 数据库
数据库里数据如何管理?

model 里,加一句
chapterN=models.IntegerField()

修改后, 重新 makemigrations 和 migrate
然后去 mysql 里去修改下数据即可,或者你还要写数据管理模块?