【发布时间】:2021-08-23 16:15:48
【问题描述】:
models.py
from django.db import models
from django.contrib.auth.models import User
# Create your models here.
class Customer(models.Model):
user = models.OneToOneField(User,null=True,blank=True,on_delete=models.CASCADE)
name = models.CharField(max_length=200,null=True)
## phone = models.IntegerField(null=True)
email = models.EmailField(max_length=250)
profile_pic = models.ImageField(default='default_pic.png',null=True,blank=True)
date_created = models.DateTimeField(auto_now_add=True,null=True)
def __str__(self):
return self.name
class Task(models.Model):
customer = models.ForeignKey(Customer,on_delete=models.CASCADE,null=True)
title = models.CharField(max_length=200)
description = models.TextField(null=True,blank=True)
complete = models.BooleanField(default=False)
created = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
class Meta:
ordering = ['complete']
views.py
@login_required(login_url='login')
def taskCreate(request):
if request.method == 'POST':
form = TaskForm(request.POST or None)
if form.is_valid():
form.instance.customer = request.user
form.save()
return redirect('tasks')
else:
form = TaskForm()
context = {'form':form}
return render(request,'todo_list/task_create.html',context)
错误:
/create_task/ 处的 ValueError
无法分配“
我正在尝试链接用户帐户中的用户名,以显示在模型 Task.customer 上,该模型代表该用户创建的帖子。请问有什么方法可以在模型Task 中指定customer 吗?此外,我不了解详细的错误消息,因为我的管理面板已经在 Customer 模型中具有当前用户名。但是,如果我使用request.user.customer,用户名不会显示,而是返回 None 那么如何解决这个问题?
【问题讨论】:
-
具体说明您的问题...问题太多,概率太多。