Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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 将外键(品牌)应用到用户品牌对象中_Python_Django - Fatal编程技术网

Python 将外键(品牌)应用到用户品牌对象中

Python 将外键(品牌)应用到用户品牌对象中,python,django,Python,Django,我对以下行有问题:user_brand=UserBranduser=user,brand=serializers,我一直收到以下错误: Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/core/handlers/base.py", line 149, in get_response

我对以下行有问题:user_brand=UserBranduser=user,brand=serializers,我一直收到以下错误:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/core/handlers/base.py", line 149, in get_response
    response = self.process_exception_by_middleware(e, request)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/core/handlers/base.py", line 147, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
    return view_func(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/views/generic/base.py", line 68, in view
    return self.dispatch(request, *args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/rest_framework/views.py", line 466, in dispatch
    response = self.handle_exception(exc)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/rest_framework/views.py", line 463, in dispatch
    response = handler(request, *args, **kwargs)
  File "/Users/jeansymolanza/projects/adsoma-api/api/views.py", line 137, in post
    return self.create(request, *args, **kwargs)
  File "/Users/jeansymolanza/projects/adsoma-api/api/views.py", line 154, in create
    user_brand = UserBrand(user=user, brand=serializers)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/db/models/base.py", line 439, in __init__
    setattr(self, field.name, rel_obj)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/db/models/fields/related_descriptors.py", line 207, in __set__
    self.field.remote_field.model._meta.object_name,
ValueError: Cannot assign "<module 'rest_framework.serializers' from '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/rest_framework/serializers.py'>": "UserBrand.brand" must be a "Brand" instance.
models.py

您正在尝试将BrandSignupSerializer对象作为品牌传递给UserBrand构造函数。。。你需要一个品牌对象。您应该能够通过使用替换线路来解决此问题

user_brand = UserBrand(user=user, brand=serializer.instance)
class Brand(models.Model):
    """
    Brand model
    """
    id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
    name = models.CharField(max_length=255, null=True, default=None)
    brand = models.CharField(max_length=255, null=True, default=None)
    phone = models.CharField(max_length=255, null=True, default=None)
    website = models.CharField(max_length=255, null=True, default=None)

    class Meta:
        verbose_name_plural = "Brands"

    def __str__(self):
        return "%s" % self.brand


class UserBrand(models.Model):
    """
    User brand model
    """
    id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
    user = models.ForeignKey(User, null=False, on_delete=models.CASCADE)
    brand = models.ForeignKey(Brand, null=False, on_delete=models.CASCADE)

    class Meta:
        verbose_name_plural = "User Brands"

    def __str__(self):
        return "%s - %s" % (self.user, self.brand)
user_brand = UserBrand(user=user, brand=serializer.instance)