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.
Ja. Es funktionierte. Danke –
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." –
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