Свойство уровня класса для модели Django в Python - PullRequest
5 голосов
/ 17 июня 2011

У меня есть модель Django, в которой хранятся некоторые редко измененные, но часто используемые данные. Я ищу шаблон, чтобы я мог ссылаться на них как на переменные статического класса, например, SomeModel.Bar или SomeModel.Baz.

В данный момент я использую статический метод, например, так:

class SomeModel(models.Model):
    name = models.CharField(max_length=100)

    @staticmethod
    def Baz():
        #retrieve from cache or lookup Baz item
        return baz

Это значит, что я называю элементы SomeModel.Baz (), но это не совсем правильно. У меня просто складывается впечатление, что я делаю что-то не так. Я не хочу делать это свойством, так как я не хочу, чтобы экземпляр ссылался на элемент.

Может кто-нибудь указать мне на образец или пример, чтобы показать мне, что я могу реализовать свойство уровня класса таким образом? Или скажите мне, почему я должен делать что-то совершенно другое? Спасибо:).

1 Ответ

2 голосов
/ 17 июня 2011

Если вам нужна логика для модели, которая не принадлежит определенной строке, напишите Диспетчер пользовательских моделей .

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