2017-04-09 3 views
0

Ich versuche, Produkte und einige andere Modelle in der Katalog-App nach der documentation anzupassen.Django Oscar Modellanpassung: Modellwechsel wird nicht während Makemigrationen

I Katalog App gegabelt haben (myproject/boscar/Katalog) gemäß Dokumentation Dokumentation und meine aktualisiert boscar/catalog/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 * 

Ich habe bereits enthalten den geänderten Katalog App, in der INSTALLED_APPS in settings.py als Argument für die Funktion get_core_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']) 

Migrationen werden automatisch in meinem lokalen App kopiert, wenn ich diesen Befehl manage.py oscar_fork_app Katalog boscar ausgeführt.

Mein Problem ist, wenn ich den makemigrations Befehl (python "manage.py makemigrations boscar") ausführen, zeigt es "Keine Änderungen in der App 'Boscar' entdeckt". Aber ich habe bereits eine Änderung vorgenommen, um is_active in der Produkttabelle hinzuzufügen.

Antwort

1

Ich glaube, Sie brauchen, um den Katalog App beziehen bei der Migration:

python manage.py makemigrations catalogue 
+0

Ja. Es funktionierte. Danke –

+0

Ich möchte die Produkt-ID (int) zu uuid ändern. Ich habe das Modell als 'id = models.UUIDField (primary_key = True, default = uuid.uuid4, editierbar = False) 'aktualisiert. Jetzt zeigt es den Fehler an. 'django.db.utils.ProgrammingError: Spalte" id "kann nicht automatisch in den Typ UUID umgewandelt werden HINWEIS: Sie müssen möglicherweise" USING ID :: Uuid "angeben." –

+0

Ich persönlich habe noch nicht versucht, eine Uuid als Primärschlüssel zu verwenden , aber [hier] (http://stackoverflow.com/questions/3936182/using-a-uuid-as-a-primary-key-in-django-models-generic-relations-impact) finden Sie einige Informationen auf so tun. Anscheinend gibt es seit Django 1.8 ein UUIDField – dentemm

Verwandte Themen