当前位置: 首页 > 网络应用技术

如何在Django中创建桌子(2023年最新完成)

时间:2023-03-08 01:57:20 网络应用技术

  简介:今天,首席CTO指出要与您分享如何在Django上创建桌子。如果您能解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  提供一个想法。我没有尝试过,我不知道它是否可行。将表的抽象结构定义为模型,但请记住添加

  元类:

  摘要= true

  好吧,您将获得模型的抽象类。当SynCDB时,不会构建抽象类。

  然后,编写一个根据日期动态生成动态类的东西。例如,您的抽象称为myModel。

  def gen_model_by_date(dt = none):

  如果DT没有:

  dt = dateTime.dateTime.today()

  new_model_name ='mymodel_ {d}'。格式(d = dt.strftime('%y%m%d'))

  new_model = type(new_model_name,(mymodel,),{}),{})

  返回new_model

  然后,在此表的所有逻辑中,此方法用于替换原始模型。

  Django代码应由此决定。

  在Internet上看到使用Django的模型和MAKEMIGRATION,迁移命令创建新表并使用它。但是我的数据已经存在,并且已经存储了,并且已经存储了数据,并且无法创建新表格。Django的指示和与模型名称的映射关系可以使Django使用现有表。

  如果模型在Django中存在如下:

  [python]查看普通副本

  来自django.db导入模型

  #在这里创建您的模型。

  Sciencenews(Models.Model):

  id = models.charfield(max_length = 36,primary_key = true)

  first_module = model.charfield(max_length = 30,默认值=“ news”)

  second_module = model.charfield(max_length = 30,默认值=“最新新闻”)

  title = models.charfield(max_length = 300)

  作者= models.charfield(max_length = 60,null = true)

  publish_date = models.charfield(max_length = 35,null = true)

  content = model.textfield(null = true)

  crawl_date = model.charfield(max_length = 35,null = true)

  from_url = models.charfield(max_length = 350,null = true)

  执行数据迁移命令:

  [python]查看普通副本

  python manage.py makemign

  python manage.py迁移

  名为show_sciencenews的数据表将在数据库中生成。显示为应用程序名称。我的应用程序名称在此处显示。

  我的存储和攀登数据数据的表名是Science_News,我想使用它来使用它而不是创建新表。其名称的名称更改为带有表格的模型的名称,在这里我更改为show_sciencenews。然后使用上述数据迁移命令。目前,可以提示数据表数据表已经存在错误。不合理的模型已使用数据表映射。接下来,您只需要正常使用模型和数据表即可。

  代码部分:

  来自django.db导入模型

  班级学生(Models.Model):

  name = models.charfield(max_length = 30)

  等级= model.integerfield()

  执行部分:

  python manage.py makemigrations

  python manage.py迁移

  类用户(型号。模型):

  用户名= models.charfield(max_length = 50,空白= false)

  密码= models.charfield(max_length = 50,空白= false)

  类UserInfo(models.model):

  user = models.foreignkey(用户)

  地址= models.charfield(max_length = 50,空白= false)

  email = models.charfield(max_length = 50,空白= false)

  通过外键外钥匙议会

  ;

  Django创建一个数据库表方法如下:

  捕捉器:MySite Catcher $ Python Manage.py Makemigrations Books

  “书籍”的迁移:

  0001_Initial.py:

  - 创建模型作者

  - 创建模型书

  - 创建模型出版商

  -DD Field Publicsher预订

  捕捉器:MySite Catcher $ Python Manage.py Sqlmigrate Books 0001

  开始;

  ------

  - 创建模型作者

  ------

  创建表“ books_author”(“ id”整数而不是null主键自动启动,“ first_name” varchar(30),而不是null,last_name” varchar(40)不是nul null,null,“ emil” varchar(254)不(254)不(254)

  ------

  - 创建模型书

  ------

  创建表“ books_book”(“ id” integer而不是null主键自动启动,标题“ varchar(100)不是null,publication_date”日期而不是null);

  

  ------

  - 创建模型出版商

  ------

  (30)不是零,“乡村” varchar(50)不是null,“网站” varchar(200)而不是null);

  ------

  -DD Field Publicsher预订

  ------

  Alter Table“ Books_book”重命名为“ books_book__old”;

  

  插入“ books_book”(“ publication_date”,“ publisher_id”,“ id”,“ title”)选择“ publication_date”,null,“ id”,“ title” books_book_old”;

  drop表“ books_book__old”;

  在“ books_book”(“ publisher_id”)上创建索引“ books_book_book_2604cbea”;

  犯罪;

  捕捉器:Mysite Catcher $

  

  在这样做之前,您需要一个更好的设计框架。如果您想执行自己的应用程序,理论上可以在应用程序中构建表格。最好确保每个应用程序都可以单独使用并且不依赖其他应用程序。由于有两个联系表,因此应独立使用一个称为“常见”的模块,以便每个人都可以打电话。

  结论:以上是首席CTO注释创建的Django相关内容的相关内容,以总结Django的相关内容。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?