我正在尝试制作一个填充脚本,用循环以某种方式填充模型。下面是代码可能的样子:
在模型.py在
class ExampleModel(models.Model):
name = models.CharField(max_length=32)
code = models.CharField(max_length=3)
description = models.TextField(max_length=128)
在文本.txt在
^{pr2}$在填充.py在
def populate():
with open("text.txt") as f:
content = f.readlines()
for line in content:
fields = line.split(' ', 1)
if len(fields[0]) == 3 and ( fields[0].strip().isupper() or fields[0].strip().isdigit() ):
code = fields[0].strip()
name = fields[1].strip()
print("%s-%s" % (code, name))
add_object(name=name, code=code)
def add_object(name, code, periship_amount):
f = ExampleModel.objects.get_or_create(name=name, code=code)[0]
return f
if __name__ == '__main__':
populate()
现在,population脚本可以取任何以三个字符字符串开头的行,并将其分成两行,使三个字符的字符串成为代码,将字符串的其余部分放入名称中。我想让上面一行的名称和另一行代码的名称相等。有人知道如何在populate.py?谢谢您。在
最好对population使用dumpdata和loaddata。在
使用dumpdata,您可以获得一个包含来自db的数据的文件,使用loaddata,您可以将这些fixture加载到db中。在
https://docs.djangoproject.com/en/2.0/howto/initial-data/
相关问题 更多 >
编程相关推荐