0

私はこれをやろうとしています: 私の Web サイトには、次のようなデータベースからのデータがあります:

Math 140
Math 141
CS 320
CS 240

そして、私はこのようにしたいと思います: チェックボックスをオンにして削除を押すと、この件名はデータベースから削除されます。

Math 140 []
Math 141 []
CS 320 []
CS 240 []

template.html

    <div id="subjects-list">
        {% if user.username %}
            <ul>
                {% if subjects %}
                    {% for subject in subjects %}
                        <li>{{ subject.name }} 
                    {% endfor %}
                {% else %}
                No Subjects for this user
                {% endif %}
            </ul>
        {% else %}
                You are in else
        {% endif %}
    </div>

models.py

class Subjects(models.Model):
    """ Subject Database """
    name = models.CharField(max_length=64, unique=False) #Subject Names on left-menu 
    user = models.ForeignKey(User, unique=False)

    def __unicode__(self):
        return '%s %s' %(self.name, self.user.username)

ビュー.py

@login_required
def user_page(request, username):

    user = get_object_or_404(User, username=username)

    ''' Form in the left-menu to create a new subject '''
    if 'subject-create-b' in request.POST:
        subject_form = SubjectCreationForm(request.POST)
        if subject_form.is_valid():
            subject = Subjects.objects.get_or_create(name = subject_form.data['name'],
                                                     user = user)
            return HttpResponseRedirect('.') # redirect to the same page
                                             # later have to be substituted with AJAX
    else:
        subject_form = SubjectCreationForm()

    # Filter Subjects table by currently logged in user
    subjects = Subjects.objects.filter(user__exact = user)

    return render_to_response('user_page.html',
                              {'subject_creation_form': subject_form,
                               'subjects': subjects,
                               'user': request.user,
                              },
                              context_instance=RequestContext(request))

だから私の質問は基本的にどうすればこれを行うことができますか?

新しいフォームを追加して、" の直後に配置する必要がありますか?

  • {{ subject.name }}". はいの場合、この特定のボックスがこの特定のデータ オブジェクトを削除する必要があることをどのように知ることができますか?

    または、mymodels に新しい列を追加する必要がありますか。チェック ボックスがオンになっている場合は、この列を true に切り替えて、新しい列に true を持つすべての行をビューで削除します。

    または、より良いテクニックを提案できるかもしれません。前もって感謝します!

  • 4

    1 に答える 1

    0

    フォームのコードをリストするのを忘れました。

    「choices」を含む MultipleChoiceField をクエリセットとして使用し、CheckboxSelectMultiple ウィジェットを使用してチェックボックス付きのコースを一覧表示できます。フォームから、削除するコースを取得できます。

    于 2012-07-16T02:38:17.747 に答える