Помогите пожалуйста вывести страницу с объектом модели.
Модель описана так
class Patient(models.Model):
# uuid = ShortUUIDField()
firstname = models.CharField(max_length=100, verbose_name="Имя", blank=False, null=True)
lastname = models.CharField(max_length=300, verbose_name="Фамилия", blank=False, null=True)
upload_path = 'patient/'
photo = models.ImageField(upload_to=upload_path, verbose_name="Фото профиля", null=True)
MAN = 'M'
FEMALE = 'F'
GENDER_CHOICES = (
(MAN, 'Мужской'),
(FEMALE, 'Женский'),
)
gender = models.CharField(max_length=1, choices=GENDER_CHOICES, default=MAN, verbose_name="Пол",)
midle_name = models.CharField(max_length=300, verbose_name="Отчетство", blank=True, null=True)
birthday = models.DateField(verbose_name="Дата рождения")
phone = models.CharField(max_length=20, verbose_name="Номер телефона")
email = models.EmailField(max_length=200, verbose_name="Электронный адрес")
class Meta:
verbose_name = 'Пациент'
verbose_name_plural = 'Пациенты'
def __str__(self):
return "%s %s" % (self.firstname, self.lastname)
Далее создал класс во вьюхе:
class PatientDetailView(DetailView):
model = Patient
queryset = Patient.objects.filter(id=1)
def get_context_data(self, **kwargs):
context = super(PatientDetailView, self).get_context_data(**kwargs)
context['patient'] = Patient.objects.get(id=id)
return context
ну и urls на последок
url(r'^(?P<id>[0-9]+)/$', views.PatientDetailView.as_view(), name='patient_detail'),
При попытке открыть страницу записи
127.0.0.1:8000/patient/1
выдается ошибка
Generic detail view PatientDetailView must be called with either an object pk or a slug.
Суть оишбки понял, как устранить нет. У меня в модели нет ни slug ни pk.