美文网首页
数据库表的建立

数据库表的建立

作者: 山坡上的斐德洛 | 来源:发表于2019-01-17 08:56 被阅读0次

    一个网站的数据库经常会反应网页上的输入窗体的使用情况,而输入窗体中常常会有一些字段提供候选数据(例如在窗体中询问喜欢的颜色,品牌车型,尺寸大小等)供网友选择,那么如何在django中实现呢?

    # 我们首先在models.py中加入以下内容
    class Product(models.Model):
        SIZES = (
            ('S', 'Smaill'),
            ('M', 'Medium'),
            ('L', 'Large'), 
        )
      sku = models.CharField(max_length=5)
      name = models.CharField(max_length=20)
      price = models.PositiveIntegerField()
      size = models.CharField(max_length=1, choices=SIZES)
    

    如上述代码所示,现场建一个名为SIZES的元组,其中每一个元素也是元组。创建完之后执行python manage.py migrate命令进行数据库表初始化,如果这是第一次设置Model的内容要先执行python manage.py makemigrations命令。
    回到admin.py中,加入这个新的类并注册 ( 提前创建了一个超级管理员 ) :

    from django.contrib import admin
    from mysite.models import Product
    
    admin.site.register(Product)
    

    这样打开浏览器,进入django的admin界面,打开Product的操作界面,就可以看到,Size采用列表的方式来呈现。

    但是我们发现SIZES中的第一行数据拼错了,应该是Small才对,我们写成了Smaill。我们要修正这个错误很简单,只要在models.py中更正即可。但是要注意的是,因为Django把数据库的操作抽象化了,每一个新增以及修正步骤都必须被记录下来,以便于后续的数据库迁移操作,所以处理在models.py中把这个拼错的地方修正之外,还要执行python manage.py makemigrations以及python manage.py migrate记录下这个修正操作。
    这些操作都会被记录在migrations文件夹下。

    相关文章

      网友评论

          本文标题:数据库表的建立

          本文链接:https://www.haomeiwen.com/subject/nesbdqtx.html