В моих моделях у меня есть как задачи, так и проекты. То, что я пытаюсь сделать, - это добавить связанные задачи в контекст страницы, на которой обновляются проекты.Как ссылаться на объект в классе в django
Ошибка я получаю:
типа объекта 'проект' не имеет атрибута 'идентификатор'
В models.py У меня есть класс задача:
class task(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
name = models.CharField(max_length=200)
....
related_project = models.ForeignKey(project, blank=True, null=True)
Также в models.py, у меня есть класс проекта:
class project(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
name = models.CharField(max_length=200)
...
мнение я использую, чтобы обновить объект проекта является:
class ProjectUpdate(UpdateView):
"""
This will be used to view and update projects
"""
template_name = 'tasks/update-project.html'
model = project
fields = ['name','status', 'purpose', 'vision', 'big_steps', 'context', 'priority', 'due_date', 'related_project']
def get_context_data(self, **kwargs):
"""
This puts the tasks related to the particular project in context
"""
# Call base implementation first to get a context
context = super(ProjectUpdate, self).get_context_data(**kwargs)
# TO DO: Add in querysets of related tasks
context = context['related_tasks'] = task.objects.filter(related_project__id=project.id)
Проблема, кажется, что «project.id» на самом деле не получить доступ к «идентификатор» конкретного объекта проекта. Как добавить задачи, связанные с конкретным объектом проекта, обновляемым с помощью атрибута «related_project» задачи (который имеет в качестве внешнего ключа объект проекта)?
Прежде, чем я удалю свой ответ, ваша проблема с получением конкретного экземпляра, который отображается или как получить доступ к идентификатору? – Sayse
, вы можете начать с следующих рекомендаций pep8 и дать своему классу заглавную букву ('Project') – Sayse
Как получить доступ к идентификатору в целом. То есть, вообще говоря, как мне получить доступ к id того, какой объект проекта будет отображаться в представлении ProjectUpdate. – jejy2343