Re: Proposal: make Model __unicode__() default to self.name

2017-12-12 Thread Alex Corcoles
Hi Collin, On Tuesday, December 12, 2017 at 3:48:38 PM UTC+1, Collin Anderson wrote: > Yes, having a good __str__ is important, and thats why i think defaulting > it to the pk is good, because it's better than nothing. Yes, you'll still > want to override __str__ with something better (that

Re: Proposal: make Model __unicode__() default to self.name

2017-12-12 Thread Collin Anderson
Hi Alex, > I think __str__ is a more user/human-friendly thing, which I don't think can be generated automatically. Yes, having a good __str__ is important, and thats why i think defaulting it to the pk is good, because it's better than nothing. Yes, you'll still want to override __str__ with

Re: Proposal: make Model __unicode__() default to self.name

2017-12-11 Thread Alex Corcoles
Sorry to resurrect this, but I commented on the bug tracker ( https://code.djangoproject.com/ticket/28839#comment:4 ) and was told to take the discussion here. I want to point out that __str__ is used for "GUI" purposes (such as dropdown texts in ModelForm/ModelAdmin) and putting a default

Re: Proposal: make Model __unicode__() default to self.name

2017-04-08 Thread Collin Anderson
I just made a pull request. https://github.com/django/django/pull/8336 (1) is my first choice, pk=1 is my second choice. I'd be fine with either. On Sat, Apr 8, 2017 at 12:08 PM, Marco Silva wrote: > just saw that __repr__ is now under discusion here >

Re: Proposal: make Model __unicode__() default to self.name

2017-04-08 Thread Marco Silva
just saw that __repr__ is now under discusion here https://groups.google.com/forum/#!topic/django-developers/UNKFMg6DO5s sábado, 8 de Abril de 2017 às 17:06:05 UTC+1, Marco Silva escreveu: > > I have no idea what is the best way, just say that comment. this is the > original PR > >

Re: Proposal: make Model __unicode__() default to self.name

2017-04-08 Thread Marco Silva
I have no idea what is the best way, just say that comment. this is the original PR https://github.com/django/django/commit/d2a26c1a90e83dabdf3d67ceec4d2a70fb86 I think you should submit the PR to change the __str__ method, and maybe open a new discussion regarding __repr__ sexta-feira, 7

Re: Proposal: make Model __unicode__() default to self.name

2017-04-08 Thread is_null
Usually people tell me that type(self) is better than self.__class__, so you might prepare to change that too. But yeah, it seems like a very reasonable change to me, reading lists of indistinct have always required extra steps to figure out what models they are. Thanks for your effort, Best

Re: Proposal: make Model __unicode__() default to self.name

2017-04-07 Thread Collin Anderson
Hi All, Looking at the code snippet, cls is a _local_ variable, not an instance attribute (self.cls). If we changed it to an instance attribute, it would lose most of the speed optimization. Also, self.cls would possibly clash with a field named "cls". Collin On Fri, Apr 7, 2017 at 10:33 AM,

Re: Proposal: make Model __unicode__() default to self.name

2017-04-07 Thread Kapil Garg
The opened ticket is about Model.__str__ method. Should i open a new ticket for this change ? As i see in code, self.__class__ is used in a lot of places but will it effect optimization if we change lookups from self.__class__ to self.cls Because the methods where class is being used frequently,

Re: Proposal: make Model __unicode__() default to self.name

2017-04-07 Thread Marco Silva
I noticed this on the init def __init__(self, *args, **kwargs): # Alias some things as locals to avoid repeat global lookups cls = self.__class__ maybe you should change it to self.cls?? Try to submit a PR to the open ticket. segunda-feira, 3 de Abril de 2017 às 21:07:47 UTC+1, Kapil Garg

Re: Proposal: make Model __unicode__() default to self.name

2017-04-03 Thread Kapil Garg
So does this patch seem fine ? diff --git a/django/db/models/base.py b/django/db/models/base.py index 3c1cb9a..f58e12b 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -504,7 +504,7 @@ class Model(metaclass=ModelBase): return '<%s: %s>' % (self.__class__.__name__,

Re: Proposal: make Model __unicode__() default to self.name

2017-04-03 Thread Collin Anderson
I'd recommend not saying "unsaved". "new" if anything. UUID pk's may default to generating a pk before save, so it might just be best to show the actual current pk value On Mon, Apr 3, 2017 at 1:06 PM, Kapil Garg wrote: > So what should the final __str__ show: Should it

Re: Proposal: make Model __unicode__() default to self.name

2017-04-03 Thread Kapil Garg
So what should the final __str__ show: Should it be 'ClassName object pk=Something' and if pk is None then should it be 'ClassName object (unsaved)' or 'ClassName object pk=None' ? On Sunday, 2 April 2017 23:47:01 UTC+5:30, Collin Anderson wrote: > > Makes sense to me. Maybe still keep the

Re: Proposal: make Model __unicode__() default to self.name

2017-04-02 Thread Collin Anderson
Makes sense to me. Maybe still keep the "Transaction object" part, and use None if no pk. On Sun, Apr 2, 2017 at 11:09 AM, Kapil Garg wrote: > Ticket 27953 is regarding > this proposal and the suggestion is about adding "pk"

Re: Proposal: make Model __unicode__() default to self.name

2017-04-02 Thread Kapil Garg
Ticket 27953 is regarding this proposal and the suggestion is about adding "pk" in Model string representation if it exists. On Thursday, 11 July 2013 09:16:25 UTC+5:30, Collin Anderson wrote: > > Hi All, > > Have you ever quickly set up a model,

Re: Proposal: make Model __unicode__() default to self.name

2013-07-11 Thread Aymeric Augustin
2013/7/11 mjl Martin J. Laubach > Perhaps to have it a tiny little bit more useful, have it default to > "MyModel object (object_pk)" ? > I could support that. object_pk will be None when the object isn't saved yet, but that's fine. -- Aymeric. -- You received this

Re: Proposal: make Model __unicode__() default to self.name

2013-07-11 Thread mjl Martin J. Laubach
> In addition to the previous answers, I find it important to have an unambiguous __unicode__ / __str__, and name isn't necessarily unique. Perhaps to have it a tiny little bit more useful, have it default to "MyModel object (object_pk)" ? mjl -- You received this message because

Re: Proposal: make Model __unicode__() default to self.name

2013-07-11 Thread Aymeric Augustin
On 11 juil. 2013, at 05:46, cmawebs...@gmail.com wrote: > What do your __unicode__/__str__ methods look like? Is this a bad idea? In addition to the previous answers, I find it important to have an unambiguous __unicode__ / __str__, and name isn't necessarily unique. -- Aymeric. -- You

Re: Proposal: make Model __unicode__() default to self.name

2013-07-10 Thread Curtis Maloney
Luke beat me to it... We have a couple of abstract models which will fall through a small list of field names, trying to guess a useful default for __str__ ... but it makes me feel dirty every time I see it. Beyond "blessing" a particular (set of?) field names as default str names... this also

Re: Proposal: make Model __unicode__() default to self.name

2013-07-10 Thread Luke Sneeringer
What makes “name” special. Why not “label”, “title”, “code”, or any number of other things that people use internally? It also seems like you could solve this very easily by creating a stub model: from django.db import models class MyModel(models.Model): class Meta: