我使用CBV有一个createview
from pydocumentdb import document_client
endpoint = "https://***.documents.azure.com:443/";
primaryKey = "***";
client = document_client.DocumentClient(endpoint, {'masterKey': primaryKey})
collection_link = "dbs/db/colls/coll"
query = "select c.id from c"
query_with_optional_parameters = [];
q = client.QueryDocuments(collection_link, query, {'maxItemCount': 2})
results_1 = q._fetch_function({'maxItemCount': 2})
print(results_1)
token = results_1[1]['x-ms-continuation']
results_2 = q._fetch_function({'maxItemCount': 2, 'continuation': token})
print(results_2)
各个型号。py
class StudentCreate(LoginRequiredMixin, CreateView):
login_url = '/signin/'
model = Student
fields = ['first_name', 'last_name' ]
success_url = '/dashboard/'
该Web应用程序具有登录功能。当用户(classteacher)登录时,他们可以添加学生。我想要的是Student(模型Form)中的classteacher字段应自动设置为user,即classteacher。 (Classteacher),并且在创建该学生之后应将其保存在数据库中。使用相应的必填字段更新了Classteacher模型。
答案 0 :(得分:1)
在here中查找可以覆盖的CreateView
的各种方法。
在您的情况下,您想覆盖form_valid()
方法,该方法将在保存新的Student
时调用。
from django.shortcuts import get_object_or_404
def form_valid(self, form):
self.object = form.save(commit=False)
self.object.classteacher = get_object_or_404(Class_teacher, email=self.request.user.email)
self.object.save()
return super().form_valid(form)
答案 1 :(得分:1)
您需要定义自己的path: ""
。
我认为教师与您的用户模型是一对一的关系。
form_valid()