2017-03-13 3 views
0

チェックボックスをオンにすると、モデルに属性をfalseにするとチェックが入れられます。Djangoチェックボックスフィールド

私のモデルは次のとおりです。

class Topic(models.Model): 
     """A topic the user is learning about""" 
     text = models.CharField(max_length=200) 
     date_added = models.DateTimeField(auto_now_add=True) 
     owner = models.ForeignKey(User) 
     public = False 

My forms.py (where the checkbox should go) is: 

class TopicForm(forms.ModelForm): 
    class Meta: 
     model = Topic 
     fields = ['text'] 
     labels = {'text': ''} 

そして、私の機能:

def topics(request): 
    """Show all topics.""" 
    topics = Topic.objects.filter(owner=request.user).order_by('date_added') 
    context = {'topics': topics} 
    return render(request, 'learning_logs/topics.html', context) 

あなたは、私は、フォームのチェックボックスがチェックされていることを順番に変更する必要があるものをパブリック変数を教えてくださいでしたTrueになると、関数トピックはパブリックトピックだけでなく所有者も表示します。

おかげ

ミロ

答えて

1

models.BooleanField自体as a checkboxレンダリングします。 TrueまたはFalseです。だから、:

# models.py 

class Topic(models.Model): 
    # ... 
    public = models.BooleanField(default=True) 


# forms.py 

class TopicForm(forms.ModelForm): 
    class Meta: 
     model = Topic 
     fields = ['text', 'public] 
     labels = {'text': '', 'public': 'label for public'} 

あなたもnull値を受け入れるようにしたい場合は、models.NullBooleanFieldを使用する必要があります。

関連する問題