Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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
Django 如何创建属于唯一用户的模型对象_Django_Model - Fatal编程技术网

Django 如何创建属于唯一用户的模型对象

Django 如何创建属于唯一用户的模型对象,django,model,Django,Model,我正在设置传送应用程序。我希望能够创建一个属于创建时登录的用户的接收器 class CustomUser(AbstractUser): first_name = models.CharField(max_length=30, blank=False) last_name = models.CharField(max_length=30, blank=False) email = models.EmailField(blank=False) class Reciever

我正在设置传送应用程序。我希望能够创建一个属于创建时登录的用户的接收器

class CustomUser(AbstractUser):
    first_name = models.CharField(max_length=30, blank=False)
    last_name = models.CharField(max_length=30, blank=False)
    email = models.EmailField(blank=False)

class Reciever (models.Model):
    name = models.CharField(max_length=256,blank=False)
我想创建一个属于特定用户的Receiver对象。
当我现在创建接收器时,它对所有用户都可用。

在这种情况下,您可以使用a,它是a,但附加了唯一性约束,如:

class Reciever(models.Model):
    name = models.CharField(max_length=256,blank=False)
    user = models.OneToOneField(CustomUser, on_delete=models.CASCADE)
当然你已经有了

如果制作了
ModelForm
,则可以排除
user
字段,并在视图中进行设置,例如:

def some_view(request):
    form = ReceiverForm(request.POST)
    if form.is_valid():
        object = form.save(commit=False)
        object.user = request.user
        object.save()
        # ...
    # ...

删除了我的评论,因为威廉的评论更详细。请注意,您在接收器中的“e”和“i”是向后的,因此,如果您试图复制并通过他的答案,请确保修复该问题!
def some_view(request):
    form = ReceiverForm(request.POST)
    if form.is_valid():
        object = form.save(commit=False)
        object.user = request.user
        object.save()
        # ...
    # ...