2
我有一个模型:如何使用objects.create保存django字段?
class Certificate(models.Model):
comments = models.TextField(blank=True, default='')
generic_certificate = models.ForeignKey(GenericCertificate, related_name='certificates_awarded')
tag = models.ForeignKey('Tag', related_name='certificates_awarded', null=True, blank=True)
created_at = models.DateTimeField(auto_now_add=True)
history_timestamp = models.DateTimeField(auto_now=True)
rewardee = models.ForeignKey(OrganisationUser, related_name='certificates_rewarded')
position = models.CharField(max_length=50, default = '0,0')
我要救定的主键位置的字段。
这里是views.py:
def post(self, request , *args , **kwargs):
comments = Certificate.objects.values("comments").filter(pk = kwargs.get('cert_id'))
gen_certi = Certificate.objects.values("generic_certificate").filter(pk = kwargs.get('cert_id'))
tag = Certificate.objects.values("tag").filter(pk = kwargs.get('cert_id'))
history_timestamp = Certificate.objects.values("history_timestamp").filter(pk = kwargs.get('cert_id'))
rewardee = Certificate.objects.values("rewardee").filter(pk = kwargs.get('cert_id'))
position = request.POST.get('hid')
position = str([position])
a = Certificate.objects.create(comments=comments, generic_certificate = gen_certi , tag=tag,rewardee=rewardee, position=position)
print a
它给错误:
Exception Value:
Cannot assign "[{'generic_certificate': 2}]": "Certificate.generic_certificate" must be a "GenericCertificate" instance.
请帮助如何位置字段保存到数据库中。
你想要更新同一条记录,或者想要为'request.POST'中读取的'position'在数据库中添加新记录吗? – anuragal
只想更新 –