【发布时间】:2019-10-07 06:45:42
【问题描述】:
我有一个有两个模型的 API。我想将这些模型与外键联系起来。然后,我想发送数据,更具体地说,我想发送一个字符串。如果此字符串与我想创建一个实例的外键名称匹配。像这样:
class Simulation(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, default=1)
project = models.ForeignKey(Project, on_delete=models.CASCADE,default=1, related_name="projects")
class Project(models.Model):
project_name = models.CharField(max_length=120)
def __str__(self):
return self.project_name
我这样发送数据:
def test_api_local(method='get', data={}):
r = requests.request(method, ENDPOINT , data=data, headers=headers)
return r
test_api_local(method="post", data={"user":2, "project":1 })
好的,这样就可以了。像这样,我用数据创建了一个实例。但我想做的是将我的项目名称作为字符串发送并创建一个模拟对象,其中包含我的项目名称。但是现在我只能发送整数。
我尝试将项目名称设置为主键,但出现多键错误。我尝试将其设置为唯一,但它也无法正常工作。
我读到不建议使用字符串作为外键,因为它会破坏通用外键。但是,有没有办法做到这一点?我认为这必须以某种方式起作用,但我不知道了......
非常感谢任何帮助!提前致谢!
【问题讨论】:
标签: django django-models django-rest-framework foreign-keys