Как изменить max_length поля на модели прокси в Django - PullRequest
0 голосов
/ 03 августа 2020

Я работаю над проектом доски объявлений. У меня есть два класса моделей 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. Возможна ли вообще такая мысль?

1 Ответ

0 голосов
/ 03 августа 2020

Вы можете попробовать использовать, формы

Я не думаю, что модель прокси позволит вам это сделать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...