確認它的形式之前修改的Django模型字段我有一個具有以下ATTR模型課程:如何訪問/ ListView中
class Course(models.Model):
user= models.ForeignKey(
User,
on_delete=models.CASCADE,
)
# email= models.EmailField(default=user.email)
courseName= models.CharField(max_length=20, blank=False)
class Meta:
unique_together= ('user','courseName',)
def __str__(self):
return self.courseName
我創造,我希望用戶只輸入courseName形式並且在他們發佈後,我也會在模型中添加請求的用戶。
這是我的形式,這是越來越上通過我的ListView傳遞給模板
forms.py
class CourseForm(forms.ModelForm):
class Meta:
model= Course
fields = ['courseName']
**這是我的views.py我在哪裏掙扎**
class CoursesListView(ListView, FormMixin):
model = Course
form_class = CourseForm
template_name = "userApp/courseList.html"
def get_queryset(self):
return Course.objects.filter(user__exact=self.request.user)
def get_context_data(self,*args,**kwargs):
context= super(CoursesListView,self).get_context_data(*args, **kwargs)
context['courseForm'] = self.form_class
return context
def post(self,request, *args, **kwargs):
form = self.form_class(request.POST)
user = User.objects.get(username__exact=self.request.user)
**I want to add the user to my model.user field here**
return self.get(redirect, *args, **kwargs)
def get(self,request, *args, **kwargs):
self.object=None
self.form = self.get_form(self.form_class)
return ListView.get(self, request, *args, **kwargs)
所以基本上我的問題是如何在調用form.is_valid()之前將用戶添加到我的模型中。
什麼是copy.copy()?它說 NameError:名稱'copy'未定義 謝謝 – user7278236
首先添加'import copy'。這是一個複製結構的模塊。我相信這是必須的,因爲'request.POST'是不可變的。 – yedpodtrzitko
這是一個很好的方式來做到這一點。乾杯! – user7278236