У меня довольно простая модель в Django:
class TimeReport(ValidateModelMixin, models.Model):
created_at = models.DateTimeField(default=datetime.now)
created_by = models.ForeignKey(Person, on_delete=models.DO_NOTHING)
year = models.CharField(max_length=9)
TERM_CHOICES = [
('winter', 'winter'),
('summer', 'summer')
]
term = models.CharField(max_length=255, choices=TERM_CHOICES)
...
class Person(AbstractUser):
...
Теперь у меня есть представление, которое генерирует шаблон, который делает ajax вызовы после загрузки страницы. Вызов ajax, запрашивающий другое представление:
def get_time_reports_api(request, year, term):
if request.is_ajax():
qs = TimeReport.objects.filter(year=year, term=term).all()
return_value = serializers.serialize('json', qs)
else:
return_value = 'fail'
mimetype = "application/json"
return HttpResponse(return_value, mimetype)
Очевидно, это представление возвращает внешний ключ в поле created_by
.
Как я могу убедиться, что я передаю first_name
и last_name
Person
с каждой TimeReport
записью?
Если я не ошибаюсь, я должен использовать annotate
, но я борюсь с как это должно быть воедино ...