Я работаю над проектом доски объявлений. У меня есть два класса моделей Django:
from ckeditor.fields import RichTextField
...
class Bulletin(models.Model):
# other fields...
content = RichTextField('Content (Don\'t use this and content image)',
max_length=5000, blank=True,
null=True)
# other classes...
class QuoteManager(models.Manager):
def get_queryset(self):
return super(QuoteManager, self).get_queryset().filter(
bulletin_type=BulletinType.QUOTE.name)
class Quote(Bulletin):
class Meta:
proxy = True
objects = QuoteManager()
def save(self, *args, **kwargs):
self.bulletin_type = BulletinType.QUOTE.name
super(Quote, self).save(*args, **kwargs)
Это позволяет мне хранить все мои прокси-классы в одной базе данных и иметь те же поля, что и мой базовый класс «Bulletin».
Я хочу изменить прокси-класс Quote, чтобы он имел max_length
, например, 200. Как я могу это сделать?
Что я пробовал?
Я попытался добавить «контент» в прокси-класс, и это было коллизией имен.
Я попытался добавить поле с именем «quote_content» в прокси-класс в качестве обходного пути, но это также не удалось, так как вы не можете создавать поля в прокси-классах.
Идеальное решение позволило бы мне сохранить мой прокси-класс, но все же изменить max_length. Возможна ли вообще такая мысль?