2014-03-28 128 views
0

enter image description here 大家好,我想在Django註冊後完成配置文件。 所以一旦用戶註冊,他使用以下步驟Django處理表格步驟

第1步:註冊(工程)

步驟2:選擇大學(顯示與大學一個選擇,但它必須通過所選擇的大學爲了過濾課程在步驟3)

步驟3:選擇課程並添加年。在這裏,用戶將能夠選擇一門課程並進入他的學習年。然後,學習年份將存儲在studies_student(年份字段)中。並且我還儲存了enrolled_id所選的學生的課程。

我需要的是從第2步發送大學步驟3,過濾器的課程並提交enrolled_idyear

views.py

def step2(request): 
    universities = University.objects.order_by('name').distinct() 
    return render_to_response("registration/step2.html", {'universities': universities}, RequestContext(request)) 


def step3(request): 
    courses = Course.objects.all() 
    args = {} 
    if request.method == 'POST': 
     form = Enroll(request.POST) 
     if form.is_valid(): 
      return render_to_response("registration/complete.html", {'courses': courses}, RequestContext(request)) 
    else: 
     form = Enroll() 

    args['form'] = form 
    return render(request, 'registration/complete.html') 


def complete(request): 
    return render(request, 'registration/complete.html') 

forms.py

class Enroll(forms.ModelForm): 
    course = forms.ChoiceField() 
    year = forms.IntegerField(validators=[MinValueValidator(1), 
              MaxValueValidator(7)]) 

    class Meta: 
     model = Student 
     fields = ('year',) 

    def save(self, commit=True): 
     student = super(Student, self).save(commit=False) 

     if commit: 
      student.save() 

     return student 

很抱歉的長文本,但我想了好幾天做,所以我試圖解釋是我的目標去做。

回答

0

我強烈建議爲UniversityCourse創建分離式模型。 您可以在課程表中創建了大學的ForeignKey

class University(forms.ModelForm): 
     //university attributes 

class Course(forms.ModelForm): 
    //course attrbutes 
    university = forms.ForeignKey('University') 

當你有一個course對象,就可以得到相應的university對象像

course_obj.university 

https://docs.djangoproject.com/en/1.4/topics/db/examples/many_to_one/

+0

喜納文!我已經有了**大學**和**課程**兩個單獨的模型,您可以在數據庫圖像中看到。那麼有沒有什麼辦法可以將選定的**大學**從步驟2傳遞到步驟3並通過**大學**過濾**課程**? – manosim

+0

重塑你的課程模式添加ForeignKey爲大學...一旦你有話說可以說課程「獲得所有的課程,其中universty名稱或ID是xyz」 – navyad

+0

我已經有一個ForeignKey大學課程模型。這個問題我無法從表單中傳遞出來。我閱讀這個[鏈接](https://docs.djangoproject.com/en/1.6/topics/forms/),但我真的很重要。 – manosim