У меня есть объект класса, прикрепленный в качестве атрибута к модели Django.В целях вопроса, давайте предположим, что это выглядит примерно так:
class Foo(object):
def bar(self):
print "Does things here"
class Task(models.Model):
name = models.CharField(max_length=30)
user = models.ForeignKey(User, related_name = 'tasks'
foo = Foo()
Могу ли я получить доступ к значениям конкретной записи из атрибута foo?Так, например, если у меня есть что-то вроде:
task = Task(name="Get things done", user=JordanReiter)
newest_task = Task.objects.filter(user=JordanReiter).order_by('-pk')[0]
Тогда я мог бы иметь некоторую функцию spiffy
в классе Foo
, чтобы я мог запустить что-то вроде:
newest_task.foo.spiffy()
И функция spiffy
знала бы, что в этом случае значение для имени было «Выполнить все» и т. Д.
В основном мне интересно, могут ли атрибуты знать информацию об экземпляре, который их вызывает, илитолько класс, который их называет.И, конечно, если это возможно, как мне получить доступ к значениям для экземпляра?
В идеальном мире атрибут foo
будет иметь доступ к информации о классе Task
, а такжеnewest_task
экземпляр.