• Django建表


    最近在学习Django,遇到了些问题一起来看看吧。

    1.自定义表名

    Django 建表默认会以 app_name + Class_name

    解决方法

    #coding:utf8
    from django.db import models
    from datetime import datetime
    
    # Create your models here.
    
    class Datasets(models.Model):
        app_id = models.ForeignKey(App)
        app_name = models.CharField(verbose_name='应用名',  max_length=32, db_column='app_name2')
        id = models.AutoField(auto_created=True, primary_key=True, default=1)
        user_name = models.CharField(max_length=128)
        begin_date = models.DateTimeField()
        time = models.CharField(max_length=32)
        interface = models.CharField(max_length=128)
        datasets = models.CharField(max_length=128)
    
        class Meta:
            """
            其中db_column指定了对应的字段名,db_table指定了对应的表明; 
            如果不这样指定,字段名默认为app_name, 而表明默认为app名          +类名: [app_name]_info.
             verbose_name指定在admin管理界面中显示中文;                             verbose_name表示单数形式的显示,verbose_name_plural表示复数形      式的显示;中文的单数和复数一般不作区别。
            """
            db_table = 'datasets'
            verbose_name = '数据集'
            verbose_name_plural = '数据集'

    2.修改表结构

      有时修改了models.py在 

      执行 python manage.py makemigrations appname  会提示
    Operations to perform:
    Apply all migrations: monitor
    Running migrations:
    No migrations to apply.
     
    解决方法
     
    1.select * from django_migrations ;
    删除 该models所属的应用记录
    2.删除建表记录

    3.python manage.py makemigrations appname

    python manage.py migrate appname
  • 相关阅读:
    this指向问题
    原生js实现的金山打字小游戏(实例代码详解)
    js实现点赞效果
    .net core部署到linux可能碰到的问题
    Linux curl命令详解 Web程序
    用十年来学编程
    JAVA的字符串拼接与性能
    PHP学习的技巧和学习的要素总结
    php实现验证邮箱格式的代码实例
    PHP页面中文乱码处理办法
  • 原文地址:https://www.cnblogs.com/whitehorse/p/6728738.html
Copyright © 2020-2023  润新知