Как сделать entry.category экземпляром CategoryProxy? Подробнее см. В коде:
class Category(models.Model): pass
class Entry(models.Model):
category = models.ForeignKey(Category)
class EntryProxy(Entry):
class Meta:
proxy = True
class CategoryProxy(Category):
class Meta:
proxy = True
entry = EntryProxy.objects.get(pk=1)
entry.category # !!! I want CategoryProxy instance here
Приведение из категории в CategoryProxy тоже нормально, но я не очень хорошо знаком с внутренними функциями ORM для правильного копирования внутреннего состояния ...
ИЗМЕНИТЬ. Класс ForeignKey (Категория) ...
Как сделать entry.category экземпляром CategoryProxy? Подробнее см. В коде:
class Category(models.Model): pass
class Entry(models.Model):
category = models.ForeignKey(Category)
class EntryProxy(Entry):
class Meta:
proxy = True
class CategoryProxy(Category):
class Meta:
proxy = True
entry = EntryProxy.objects.get(pk=1)
entry.category # !!! I want CategoryProxy instance here
Приведение из категории в CategoryProxy тоже нормально, но я не очень хорошо знаком с внутренними функциями ORM для правильного копирования внутреннего состояния ...
ИЗМЕНИТЬ. Класс ForeignKey (Категория) ...
Как сделать entry.category экземпляром CategoryProxy? Подробнее см. В коде:
class Category(models.Model): pass
class Entry(models.Model):
category = models.ForeignKey(Category)
class EntryProxy(Entry):
class Meta:
proxy = True
class CategoryProxy(Category):
class Meta:
proxy = True
entry = EntryProxy.objects.get(pk=1)
entry.category # !!! I want CategoryProxy instance here
Приведение из категории в CategoryProxy тоже нормально, но я не очень хорошо знаком с внутренними функциями ORM для правильного копирования внутреннего состояния ...
ИЗМЕНИТЬ. Причина: я добавил метод в CategoryProxy и хочу его использовать:
EntryProxy.objects.get(pk=1).category.method_at_category_proxy()
РЕДАКТИРОВАТЬ 2. В настоящее время я реализовал это так:
EntryProxy._meta.get_field_by_name('category')[0].rel.to = CategoryProxy
но выглядит ужасно ...