What do you mean by tri-state? You are using a field that allows three states: TRUE, FALSE and NULL.
If I understand the model, readiness would either be TRUE or FALSE. But if you do not want to change your field type to: readiness = models.BooleanField("Readiness", blank=True) then try changing: if obj.readiness == True: to: if obj.readiness and obj.readiness == True: or just: if obj.readiness: Will give you the same result. This way if it doesn't exist it will not fail on the '== TRUE' test. On Fri, May 30, 2014 at 8:49 AM, Hilde Rafaelsen <hildelauv...@gmail.com> wrote: > Hi, > > > > Thanks for the response. > > > > What do you mean by tri-state? > > > > I changed my get_form to this: > > def get_form(self, request, obj=None, **kwargs): > > form = super(RequestForChangeAdmin, > self).get_form(request, obj, **kwargs) > > if obj: > > if obj.readiness == True: > > > self.exclude = ("readinessDescription", ) > > form = > super(RequestForChangeAdmin, self).get_form(request, obj, **kwargs) > > return form > > > > No my code run without errors, but nothing happpends though ☺ > > > > I have tried to change the readiness filds to yes and no, but the field > readiness descriptions is always displayed. Maybe it is not possibly to get > a fields attribute value from admin before the admin form is posted or > stored in database? Do you know? > > > > Regards, > > Hilde from Norway > > On Friday, May 30, 2014 12:57:19 PM UTC+2, Hilde Rafaelsen wrote: >> >> Hello, >> >> In my django admin page I want to hide some filelds from users if a >> special field value is set. I have tried different solutions to solve my >> problem but is stucked and hope someone can help me, >> >> If you look at my model I want to hide the field readinessDescription if >> readiness value is False (no), when the user log into admin page. >> >> In model.py: >> class RequestForChange (models.Model): >> rfc = models.AutoField (primary_key=True, help_text="This is the grey >> text") >> heading = models.CharField("Heading", max_length=50) >> readiness = models.NullBooleanField("Readiness", blank=True, >> null=True) >> readinessDescription = models.TextField("Description of >> readiness", max_length=250, blank=True, null=True) >> >> >> I found some hints on the web about using get_form from my >> RequestForChangeAdmin page, but it won't work because i get this error >> 'NoneType' object has no attribute 'readiness' >> >> >> Here is what I have in admin.py: >> >> class RequestForChangeAdmin(admin.ModelAdmin): >> formfield_overrides = { >> models.ManyToManyField: {'widget': CheckboxSelectMultiple}, >> } >> list_display = ('rfc', 'heading', 'enviroment', 'status') >> search_fields = ('changeId',) >> list_filter = ('enviroment', 'acceptAT', 'status') >> date_hierarchy = 'criticalDate' >> inline = [RequestForChangeInline] >> def get_form(self, request, obj=None, **kwargs): >> form = super(RequestForChangeAdmin, self).get_form(request, obj, **kwargs) >> print obj >> if obj.readiness == True: >> self.exclude = ("readinessDescription", ) >> form = super(RequestForChangeAdmin, self).get_form(request, obj, **kwargs) >> return form >> > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to django-users+unsubscr...@googlegroups.com. > To post to this group, send email to django-users@googlegroups.com. > Visit this group at http://groups.google.com/group/django-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/5bc768df-3a1c-4b53-bbbb-2ec19b9c05f0%40googlegroups.com > <https://groups.google.com/d/msgid/django-users/5bc768df-3a1c-4b53-bbbb-2ec19b9c05f0%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- ============================================ Timothy Cook LinkedIn Profile:http://www.linkedin.com/in/timothywaynecook MLHIM http://www.mlhim.org -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CA%2B%3DOU3Xb87s3nHy%2BKPb_UEbVsSsrFd7Z5-OfisDKgN1gD6R6aQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.