Django get lazy reference by Model
Чтобы получить модель из ленивой ссылки, мы можем сделать
from django.apps import apps
Article = apps.get_model('articles.Article')
# app.Model
Но как насчет обратного варианта? Я имею в виду получить ленивую ссылку app.Model
на Model
класс.
from articles.models import Article
# something like
print(Article.lazy_reference)
# <str> articles.Article
вы, наверное, задаетесь вопросом, зачем я это делаю, мне нужно отследить инициативу и пассивные действия пользователя, в django нет
modelfield
, поэтому я храню ссылку на модель и пк как индикацию.
Используйте опции meta
,
model_meta = Article._meta
lazy_ref = f"{model_meta.object_name}.{model_meta.app_label}"