2017-04-09 15 views
0

documentationに続いて、カタログアプリケーションで製品とその他のモデルをカスタマイズしようとしています。django oscarモデルのカスタマイズ:製品の変更中にモデルの変更が反映されない

私はフォークしている

カタログアプリのドキュメントのドキュメントごとに(/ boscar /カタログをMyProjectとする)と私の更新boscar /カタログ/ models.py:

from django.db import models 
from oscar.apps.catalogue.abstract_models import AbstractProduct 

class Product(AbstractProduct): 
    is_active = models.BooleanField(default=False) 

from oscar.apps.catalogue.models import * 

は、私はすでに、修正カタログアプリが含まれていますget_core_apps関数の引数としてsettings.pyのINSTALLED_APPS。

INSTALLED_APPS = [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'rest_framework', 
    'django.contrib.sites', 
    'django.contrib.flatpages', 
    'bmigrate', 
    'compressor', 
    'widget_tweaks', 
    'boscar' 
] + get_core_apps(['boscar.catalogue']) 

このコマンドを実行すると、マイグレーションは自動的にローカルアプリにコピーされます。manage.py oscar_fork_app catalog boscar。

私の問題は、makemigrationsコマンド(python "manage.py makemigrations boscar")を実行すると、 "アプリケーションで検出された変更はありません 'というものです。しかし、私はすでにproductテーブルにis_activeフィールドを追加するように変更しました。

答えて

1

私はあなたが移行時にカタログアプリを参照する必要があると考えている:

python manage.py makemigrations catalogue 
+0

はい。出来た。ありがとう –

+0

製品ID(int)をuuidに変更したい。モデルを 'id = models.UUIDField(primary_key = True、default = uuid.uuid4、editable = False)'として更新しました。 これでエラーが表示されます。 'django.db.utils.ProgrammingError:column" id "を自動的にタイプしてuuidを入力することはできません ヒント:" USING id :: uuid "を指定する必要があります。 –

+0

個人的に私はまだ主キーとしてuuid 、[ここ](http://stackoverflow.com/questions/3936182/using-a-uuid-as-a-primary-key-in-django-models-generic-relations-impact)にはいくつかの情報がありますそうする。どうやら、django 1.8以来UUIDFieldが存在しています – dentemm

関連する問題