У меня есть API, который я передаю некоторые примеры данных.Я перезаписываю метод post путем копирования Queryset, чтобы я мог манипулировать выходными данными.Я хотел бы получить доступ к значению отношения внешнего ключа, но я могу получить доступ только к самому внешнему ключу.
Вот так:
def post(self, request, *args, **kwargs):
data_request = request.data
data_request = data_request.copy()
machine_na = data_request.__getitem__('project')
##this gives me the id of the foreign key
data_request.__setitem__('project', str('my value'))
return Response(data_request, *args, **kwargs)
Теперь это работает.Но я не могу получить доступ к названию внешнего ключа.
Мои модели в качестве иностранных ключей:
class Machine(models.Model):
machine_name = models.CharField(max_length=120, primary_key=True)
def __str__(self):
return self.machine_name
class Project(models.Model):
project_name = models.CharField(max_length=120, primary_key=True)
def __str__(self):
return self.project_name
Моя модель, которая относится к другим:
class Simulation(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, default=1)
machine = models.ForeignKey(Machine, on_delete=models.CASCADE, default=1)
project
Надеюсь, я достаточно ясна.Я хотел бы получить доступ к конкретному имени, например, внешнего ключа 2.
, вызывающего 'project.project_name', не работает, и все остальное, что я пробовал, также нет.
Любая помощь высоко ценится.Заранее спасибо