Мне нужно обновить до django 1.7 (тогда 1.8, и т. Д., Но я предпочитаю шаг за шагом). Я на самом деле Django 1.6.11.отношение не существует после обновления до Django 1.7
Мне пришлось внести некоторые изменения в AppConfig, поскольку у меня есть приложение под названием admin с некоторыми моделями внутри.
# apps/admin/apps.py
from django.apps import AppConfig
class AdminConfig(AppConfig):
name = 'admin'
label = "Our Admin"
# project/settings/common.py
INSTALLED_APPS = (
'admin.apps.AdminConfig', # our custom admin
...
# apps/admin/models.py
class CastingProfile(models.Model):
user = models.OneToOneField(User, primary_key=True)
total_casted = models.PositiveIntegerField(default=0)
article_price = models.FloatField(default=0.03)
...
Теперь я эта ошибка, когда я пытаюсь получить доступ к моему пользовательскому администратору:
Exception Type: ProgrammingError
Exception Value:
relation "Our Admin_castingprofile" does not exist
LINE 1: ...t", "Our Admin_castingprofile"."video_price" FROM "Our Admin...
IPDB:
ipdb> CastingProfile.objects.get(user=user)
*** ProgrammingError: relation "Our Admin_castingprofile" does not exist
LINE 1: ...t", "Our Admin_castingprofile"."article_price" FROM "Our Admin...
^
Должен ли я запустить миграцию для обновления БД или я что-то пропустил?
EDIT:
Я не могу использовать ярлык = "администратор", как из Django 1.7 повторяющегося ярлыка не допускается.
Использование db_table = "your_table_name" приведет к следующей ошибке:
Exception Type: ProgrammingError
Exception Value:
relation "castingprofile" does not exist
LINE 1: ..."last_count", "castingprofile"."article_price" FROM "castingpr...
А вот модель этого приложения, где я сделал изменения:
# apps/admin/models.py
class CastingProfile(models.Model):
user = models.OneToOneField(User, primary_key=True)
total_casted = models.PositiveIntegerField(default=0)
article_price = models.FloatField(default=0.03)
...
class Meta:
db_table = "castingprofile"
...
EDIT:
Работает! Отлично, мне просто пришлось добавить «admin_castingprofile» вместо «castingprofile» в db_table после последнего совета e-satis. Пробег через мой db дал мне имя таблиц.