Django 如何在post方法中获取外键字段名?
我有一个API,我传递一些样本数据。我通过复制Queryset来覆盖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
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
那是金色的,我的朋友!!非常感谢,它工作得非常好。如果你想改进你的答案,第一行缺少一个结束括号。