Джанго: Как сделать копию одного из объектов в БД - PullRequest
1 голос
/ 19 апреля 2010

Интересно, есть ли способ сделать копию одного элемента БД?

например. У меня есть модель

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

Итак, если я добавлю один предмет, как я могу его 100 раз клонировать для тестирования?

Ответы [ 2 ]

1 голос
/ 19 апреля 2010

Если модель имеет автоинкремент PK (по умолчанию), вы можете создать или извлечь объект один раз, а затем стереть PK перед его сохранением:

row = SomeModel(...)
for i in xrange(100:
  row.pk = None
  row.save()
1 голос
/ 19 апреля 2010
# 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 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...