Django get()返回元组而不是对象

Django get()返回元组而不是对象,django,postgresql,python-3.x,Django,Postgresql,Python 3.x,我有一个简单的函数,如下所示: parent_key = SeoKeys.objects.get(view_id=view_id, key_nbr=key_nbr) if parent_key.status != 'active': parent_key.status = status parent_key.save() metrics, created = SeoMetrics.objects.get_or_create(

我有一个简单的函数,如下所示:

parent_key = SeoKeys.objects.get(view_id=view_id, key_nbr=key_nbr)
    if parent_key.status != 'active':
        parent_key.status = status
        parent_key.save()

    metrics, created = SeoMetrics.objects.get_or_create(
                                                        seo_url = url_sent,
                                                        date = date,
                                                        parent_key = parent_key,
                                                        defaults = {
                                                                'parent_key':parent_key,
                                                                'seo_url': url_sent,
                                                                'url_found':url_found,
                                                                'position':position,
                                                                }
                                                        )
class SeoMetrics(models.Model):
    parent_key = models.ForeignKey('SeoKeys', on_delete=models.CASCADE)
现在理论上这应该是可行的,但是我得到了以下错误:

ValueError: Cannot assign "(<SeoKeys: SeoKeys object>,)": "SeoMetrics.parent_key" must be a "SeoKeys" instance.
编辑: 添加了完整错误:

Internal Server Error: /hook/
Traceback (most recent call last):
  File "/Users/Costantin/GDrive/Analytic.me/dev/venv/lib/python3.5/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/Users/Costantin/GDrive/Analytic.me/dev/venv/lib/python3.5/site-packages/django/core/handlers/base.py", line 187, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/Users/Costantin/GDrive/Analytic.me/dev/venv/lib/python3.5/site-packages/django/core/handlers/base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Users/Costantin/GDrive/Analytic.me/dev/venv/lib/python3.5/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
    return view_func(*args, **kwargs)
  File "/Users/Costantin/GDrive/Analytic.me/dev/backend/apps/seo_app/views.py", line 152, in webhook
    metrics.parent_key = parent,
  File "/Users/Costantin/GDrive/Analytic.me/dev/venv/lib/python3.5/site-packages/django/db/models/fields/related_descriptors.py", line 216, in __set__
    self.field.remote_field.model._meta.object_name,
ValueError: Cannot assign "(<SeoKeys: SeoKeys object>,)": "SeoMetrics.parent_key" must be a "SeoKeys" instance.
内部服务器错误:/hook/
回溯(最近一次呼叫最后一次):
文件“/Users/Costantin/GDrive/analysis.me/dev/venv/lib/python3.5/site packages/django/core/handlers/exception.py”,第41行,在内部
响应=获取响应(请求)
文件“/Users/Costantin/GDrive/analysis.me/dev/venv/lib/python3.5/site packages/django/core/handlers/base.py”,第187行,在“获取”响应中
response=self.process\u异常\u由\u中间件(e,请求)
文件“/Users/Costantin/GDrive/analysis.me/dev/venv/lib/python3.5/site packages/django/core/handlers/base.py”,第185行,在“获取”响应中
响应=包装的回调(请求,*回调参数,**回调参数)
文件“/Users/Costantin/GDrive/analysis.me/dev/venv/lib/python3.5/site packages/django/views/decorators/csrf.py”,第58行,包装视图
返回视图函数(*args,**kwargs)
文件“/Users/Costantin/GDrive/analysis.me/dev/backend/apps/seo_app/views.py”,第152行,在webhook中
metrics.parent_key=parent,
文件“/Users/Costantin/GDrive/analysis.me/dev/venv/lib/python3.5/site packages/django/db/models/fields/related_descriptors.py”,第216行,在__
self.field.remote\u field.model.\u meta.object\u name,
ValueError:无法分配“(,)”:“SeoMetrics.parent_key”必须是“SeoKeys”实例。

这段代码正在创建一个元组。删除行末尾的逗号。

请发布带有回溯的完整错误消息。另外,您不必在
默认值中重复
parent_key
seo_url
,因为您已经将它们作为
kwargs
传递给@Selcuk,我已经添加了完整的错误。感谢您的
kwargs
我不知道它们会自动添加,但这是有意义的。是的,这解决了它。感谢IgnacioSo为下一位发现此问题的人添加更多信息:这发生在我问题中的编码之后,在
如果未创建
部分。这让人困惑,因为我不想看那里。因此,请注意此处是否有多余的逗号!再次感谢伊格纳西奥
 File "/Users/Costantin/GDrive/Analytic.me/dev/backend/apps/seo_app/views.py", line 152, in webhook
   metrics.parent_key = parent,