Django 如何在post方法中获取外键字段名?

Django 如何在post方法中获取外键字段名?,django,post,django-rest-framework,foreign-keys,Django,Post,Django Rest Framework,Foreign Keys,我有一个API,我传递一些样本数据。我通过复制Queryset来覆盖post方法,以便可以操作输出数据。我想访问外键关系的值,但我只能访问外键本身 像这样: def post(self, request, *args, **kwargs): data_request = request.data data_request = data_request.copy() machine_na = data_request.__getitem__('p

我有一个API,我传递一些样本数据。我通过复制Queryset来覆盖post方法,以便可以操作输出数据。我想访问外键关系的值,但我只能访问外键本身

像这样:

 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\u name”不起作用,我尝试过的其他方法也不起作用


非常感谢您的帮助。提前感谢

使用键获取项目对象,然后从对象中获取名称

    project=Project.objects.get(id=int(self.request.POST['project']))
    machine_na = project.project_name

那是金色的,我的朋友!!非常感谢,它工作得非常好。如果你想改进你的答案,第一行缺少一个结束括号。