> On Oct 31, 2014, at 4:19 AM, Torsten Bronger <[email protected]> > wrote: > Carl Meyer writes: >> [...] >> >> There is no built in feature for this, but it doesn't seem like a >> hard problem to solve with your own conventions. For instance, >> rather than hardcoding the name of the natural key field inside >> the natural_key method, make it a model class attribute, >> e.g. MyModel.natural_key_field. > > Do you mean this: > > class ExternalOperator(models.Model): > > name = models.CharField(_("name"), max_length=30, unique=True) > natural_key_field = "name" > > It works (at least, it doesn't abort) but I thought only fields were > allowed as attributes.
Yes, that's what I mean (though usually for clarity I would place any non-field attributes in a separate visual block - separated by a blank line - from field attributes). There is no requirement that all class attributes of models must be fields. Django can tell which are subclasses of Field and ignores the others. Carl -- 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 [email protected]. To post to this group, send email to [email protected]. 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/9EE3479F-0830-46B6-82E1-6B197C48B230%40oddbird.net. For more options, visit https://groups.google.com/d/optout.

