ValueError: вы не можете создать экземпляр модели-заглушки - PullRequest
0 голосов
/ 24 июня 2009

, поэтому я пытаюсь выполнить миграцию данных, где я беру «списки» из приложения для повторной установки в новое приложение «списки», которое я создал.

я сделал миграцию так:

python manage.py startmigration listings migrate_listings --freeze realestate

создал пустую миграцию, которую я заполнил этим:

def forwards(self, orm):
        "Write your forwards migration here"
        for listing in orm['realestate.RealEstateListing'].objects.all():
            sub_type = orm.SubType.objects.get(slug_url=slugify(listing.listing_type.name))
            lt = orm.Listing(listing_type=sub_type.parent,
                             sub_type=sub_type,
                             expiration_date=listing.expiration_date,
                             title=listing.title,
                             slug_url = listing.slug_url,
                             description = listing.description,
                             contact_person=listing.contact_person,
                             secondary_contact=listing.secondary_contact,
                             address=listing.address,
                             location=listing.location,
                             price=listing.price,
                             pricing_option=listing.pricing_option,
                             display_picture=listing.display_picture,
                             image_gallery=listing.image_gallery,
                             date_added=listing.date_added,
                             status=listing.status,
                             featured_on_homepage=listing.featured_on_homepage,
                             )
            lt.save()

            lt.features.clear()
            for ft in listing.property_features.all:
                lt.features.add(ft)

            for cft in listing.community_features.all:
                lt.features.add(cft)

            lt.restrictions.clear()    
            for na in listing.not_allowed.all:
                lt.restrictions.add(na)

однако при запуске миграции все равно появляется эта ошибка:

whiney_method

ValueError («Вы не можете создать экземпляр модели заглушки»)

насколько я понимаю, вы не можете получить доступ к модели "заглушки", используя fakeorm, но замораживание дополнительных приложений не допускается. как мне использовать модели-заглушки, не замораживая их?

1 Ответ

2 голосов
/ 25 июня 2009

хорошо, так что я отвечаю на свой вопрос, так как, очевидно, я здесь единственный пользователь django на юге. Я должен был понять это сам.

то, что я не делал, это замораживало все приложения, которые требовались в вышеупомянутой миграции. так как я не замерзал, он создал модели заглушки.

правильный синтаксис для заморозки нескольких приложений:

python manage.py startmigration listings migrate_listings --freeze realestate --freeze logistics --freeze media --freeze upload

и после этого все работает!

...