@m0ody
backend dev (python, django, postgresql, celery)

Django: как изменить app_label у моделей?

Приложение имеет следующую структуру:
django_project
-- twitter
---- sub_app1
------ models.py
------ ...
---- sub_app2
------ models.py
------ ...
INSALLED_APPS следующий:
INSTALLED_APPS = (
     'twitter.sub_app1',
     'twitter.sub_app2'
)

Проблема в том, что *._meta.app_label у моделей имеет вид: sub_app1, sub_app2 (т.е. без префикса twitter).
Попробовал явно указать app_label у моделей:
class Model(models.Model):
     ....
     class Meta:
            app_label = 'twitter.sub_app1'

Но после этого создается пустая миграция:
./manage.py schemamigration twitter.sub_app1 --initial
# -*- coding: utf-8 -*-
from south.utils import datetime_utils as datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models


class Migration(SchemaMigration):

    def forwards(self, orm):
        pass

    def backwards(self, orm):
        pass

    models = {
        
    }

    complete_apps = ['sub_app1']


Как привести app_label к формату twitter.sub_app1, twitter.sub_app2?
  • Вопрос задан
  • 2522 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы