2012-03-05 11 views
0

に、カスタマイズDjangoの管理チェンジページ

私は私のキーワードモデルチェンジで

1.Keywords 

     contains name field 

    2.Category 
     contains category_name field 

    3.Keyword Category Relation 
     Category is ForeignKey and Keyword is Many to many field 

三つのモデルを持っています。私はいくつかのキーワードを選択してもキーワードとCA保存ボタンを押すと、ドロップダウンから特定のカテゴリを選択した場合、私はカスタマイズする必要があるhtmlページは、変更が

There should be a dropdown box which lists all category model objects 

になりますtogoriesは別のモデルで更新する必要があります

どのように進めるべきですか?どのようにする予定ですか?お勧めします

答えて

0

save_model関数とsave_formset関数をオーバーライドできます。私自身のコードから例の例(admin.py):

class SubtaskAdmin(admin.ModelAdmin): 
    form = SubtaskAdminForm 
    list_display = ('id', 'task', 'date_created', 'author', 'status', 'is_reclamation') 
    list_filter = ('date_created', 'status', 'is_reclamation') 
    actions = [change_subtask_status_to_new, change_subtask_status_to_open, change_subtask_status_to_ready] 
    fields = ('order', 'task', 'tags', 'amount', 'is_reclamation', 'status') 

    def save_model(self, request, obj, form, change): 
     if not change: 
      employee = Employee.objects.get(id=request.user.id) 
      obj.author = employee 
     obj.save() 
     super(SubtaskAdmin, self).save_model(request, obj, form, change) 

...

class MaintenanceOrderLineAdmin(admin.ModelAdmin): 
     ... 
     def save_formset(self, request, form, formset, change): 
       instances = formset.save(commit=False) 
       employee = get_object_or_404(Employee, id=request.user.id) 
       for instance in instances: 
        if isinstance(instance, Subtask): 
         instance.author = employee 
         instance.save() 
関連する問題