django:如何复制db中的一个对象

时间:2010-04-19 16:48:04

标签: sql django

我想知道是否有办法制作一个db项目的副本?

e.g。我有一个模特

class Category(models.Model):
    slug = models.CharField(max_length=200)
    name = models.CharField(max_length = 200)

因此,如果我添加了一个项目,我如何克隆它100次进行测试?

2 个答案:

答案 0 :(得分:1)

# Create a bunch of new objects
for i in xrange(0,100):
    new_cat = Category(slug='a-slug', name="My Name")
    new_cat.save()

如果您只是为了测试目的而填充数据库,可能需要考虑使用fixtures

答案 1 :(得分:1)

如果模型具有自动增量PK(默认值),则可以创建或检索一次对象,然后在保存之前擦除PK:

row = SomeModel(...)
for i in xrange(100:
  row.pk = None
  row.save()