Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django get_或_create在模型上失败。ForeignKey失败_Python_Django_Foreign Key Relationship - Fatal编程技术网

Python Django get_或_create在模型上失败。ForeignKey失败

Python Django get_或_create在模型上失败。ForeignKey失败,python,django,foreign-key-relationship,Python,Django,Foreign Key Relationship,有一个有两个类的模型 class Employee(models.Model): emp_id = models.AutoField(primary_key=True) name = models.CharField(max_length=50) phone_number = models.CharField(max_length=20, unique=True) company = models.ForeignKey(Company, db_column='co

有一个有两个类的模型

class Employee(models.Model):
    emp_id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=50)
    phone_number = models.CharField(max_length=20, unique=True)
    company = models.ForeignKey(Company, db_column='company_id')

class Company(models.Model):
    company_id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=150)
    phonenumber = models.CharField(max_length=20, unique=True)
在my views.py中,我有一个方法可以接收post请求,并使用
get\u或\u create
注册员工,就像这样

employee, created = Employee.objects.get_or_create(name=emp_name, phone_number=emp_phone_number,company_id=emp_company_id)
employee.save()
但是
get\u或\u create
会导致错误

Cannot resolve keyword 'company_id' into field. Choices are:name,phone_number,company
如何将公司id保存为参考密钥?

尝试:

company = Company.objects.get(id=company_id)

employee, created = Employee.objects.get_or_create(name=emp_name, phone_number=emp_phone_number,company=company)
employee.save()

您是否尝试过
employee,created=employee.objects.get\u或\u create(name=emp\u name,phone\u number=emp\u phone\u number,company=emp\u company\u id)
?是的,即使emp_company_id是一个整数。我不能保证这是正确的,但我记得是这样的。@AndrewGorcester,不,它不起作用得到错误
ValueError:无法分配“u'70'”:“Employee.company”必须是“company”实例。
所以我按照@kviktor的建议放置了一个完整的对象company=company,但随后我得到了错误
ValueError:cannotassign“[”:“Employee.company”必须是“company”实例。
???