The pattern I use is ", ".join ( [ unicode(x) for x in ( thing_a, thing_b, 
getattr(obj,"optional_attribute",None ), ...etc... ) where x is not None ] )


On Friday, December 14, 2012 2:49:16 PM UTC-8, mhulse wrote:
>
> Hello, 
>
> This is probably a dumb question, but... 
>
> What's the best way to handle optional __unicode__() return values? 
>
> In this situation, I'm wanting to return the __unicode__ values from 
> other models. 
>
> I've found myself doing a lot of this: 
>
> def __unicode__(self): 
>     return _(u'%s%s%s') % (self.target, (' | ' if self.page_type else 
> ''), (self.page_type if self.page_type else '')) 
>
> Which works, but seems clunky. 
>
> I've tried: 
>
> return _(u'%s') % ' | '.join(filter(None, (self.target, getattr(self, 
> 'page_type', None)))) 
>
> But that gives me: 
>
> Caught TypeError while rendering: sequence item 0: expected string, Target 
> found 
>
> Tips would be appreciated. :) 
>
> Thank you! 
>
> Cheers, 
> M 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-users/-/GWVx5_ksMnUJ.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to