用夹具或脚本预填充数据库?

法比奥

我不是专家,但我认为使用Class定义选择并用这些选择预填充数据库是一个好主意。我认为这样更容易更改选择等

所以models.py我有:

class City(models.Model):
    name = models.CharField(max_length=32)
    distance = models.SmallIntegerField(blank=True, null=True)
    #etc

class OtherClass(models.Model):
    name = models.CharField(max_length=32)
    #etc

class UserProfile(models.Model):
    name = models.CharField(max_length=32)
    city = models.ForeignKey(City)
    otherfield = models.ForeignKey(OtherClass)
    #etc

UserProfile是什么用户编译CityOtherClass是程序员放哪里的选项。

迁移后,我要创造一些CityOtherClass对象:他们将是(他们必须是固定的,是)选项。

我只是了解这些装置到目前为止,我一直在使用script

import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'sitopossedimenti.settings')

import django
django.setup()

from core.models import *

def populate():
    namecity1 = add_source('city1', None)
    namecity2 = add_source('city2', None)
    @etc

    nameotherclass1 = add_otherclass('name1', #etc)

    #etc some thousands more

def add_source(name, distance):
    s = model.Source.objects.get_or_create(name=name, distance=distance)[0]
    s.save()
    return s

def add_otherclass:
    #etc

if __name__ == '__main__':
    print ("Starting myapp population script...")
    populate()

目前该脚本有效(大约),而且我怕更改...但是您怎么看?固定装置更好吗?为什么?有区别吗?

e4c5

俗话说,如果它行得通,那就不要修复它。固定装置是较常见的方法,但使用自己的装置无害。如果您正在编写一个新的测试用例,则可能要使用固定装置,但是如果我是您,那么就顺其自然了。

如果您想要一种全自动的方法来获得结果,请考虑migration.RunPython链接的文档包含一个完整的示例,该示例显示了正在加载的数据。显然,这将发生而./manage.py migrate无需其他步骤。

使用migrations.RunPython的优势在于,如果您要与同事共享应用程序或将其安装在其他服务器上,则所需的数据将自动加载到生产服务器中,并且测试中还可以完全访问该数据。数据库。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

创建新用户时,django用一些数据填充数据库

来自分类Dev

SQLAlchemy,Python,用数据填充数据库的最简单方法

来自分类Dev

预填充数据库-Node.js + MongoDB

来自分类Dev

使用休眠方式用数据填充数据库表的方法

来自分类Dev

android中的预填充数据库

来自分类Dev

如何用数据填充数据库

来自分类Dev

Ruby on Rails / Ruby:用文件中的用户名填充数据库

来自分类Dev

耙db:seed,预填充数据库时出错。未初始化的常量Clients_courses

来自分类Dev

Grails:如何在内存数据库中预填充数据并拆除

来自分类Dev

Android预填充数据库-发布后添加新的预填充行

来自分类Dev

离子+预填充数据库

来自分类Dev

用数据库中的列填充数组

来自分类Dev

使用MySQL数据库填充数据表

来自分类Dev

Room Database无法预填充数据,并且未创建数据库文件

来自分类Dev

用数据库数据填充数组并在pickerView上调用它

来自分类Dev

使用循环从数据库填充数据表

来自分类Dev

预填充数据库-Node.js + MongoDB

来自分类Dev

用数据库中的数据填充数据表

来自分类Dev

填充数据库中的表

来自分类Dev

填充数据库中的选择

来自分类Dev

如何用数据填充数据库

来自分类Dev

从sql server生成的脚本填充数据库

来自分类Dev

如何在Rails中的预填充数据库上运行测试?

来自分类Dev

耙db:seed,预填充数据库时出错。未初始化的常量Clients_courses

来自分类Dev

在JPA中从数据库填充数据表

来自分类Dev

用数据库中的列填充数组

来自分类Dev

当存在forgein密钥时,用数据填充数据库

来自分类Dev

用java中的数据库填充数组列表

来自分类Dev

如何根据数据库列中的值用数据填充数据网格视图

Related 相关文章

热门标签

归档