i trying use thats solutions, in real yet continuos the problem. The value, when are to use in other class, return to defaut value without get the value who i send in the field.
2015-07-07 15:42 GMT-03:00 James Schneider <[email protected]>: > On Tue, Jul 7, 2015 at 10:59 AM, Carlos Andre <[email protected]> wrote: > > example : I have two classes, respectively person contact. > > I want to contact class has , in its attributes , values worked coming > from > > class person , such as name, pass in person , and size of the contact > name > > in the class. > > Ahh, what you probably want is a foreign key relationship from Contact > back to Person. See below. > > I'm not sure what you mean by size, though. Is that a reference to the > qtdade field? > > > I did something like this : > > from django.db import models > > > > class person ( models.Model ) : > > qtdade = models.IntegerField (default = 1 ) > > > > class Meta : > > verbose_name_plural = ' Person ' > > > > def valor_contato ( self): > > return self.qtdade * 2 > > > > class contact ( models.Model ) : > > p = Person () > > value = models.CharField ( max_length = 150, default = p.qtdade ) > > > > What you probably want is this: > > class Contact( models.Model ) : > p = models.ForeignKey(Person, null=False) > > > Note that I used an uppercase letter to start your class (Contact). > Python classes in general use the CapWords naming convention. See PEP8 > (https://www.python.org/dev/peps/pep-0008/#class-names). > > This makes the Person attributes available via the Contact model > class, so you can do something like this: > > a_person = Person.objects.create(qtdade=3) > > a_contact = Contact.objects.create(p=a_person) > > print(a_contact.p.qtdade) > > ########## > # Would print out 3 > ########## > > Any attributes that are added to the Person class would then be > available to a Contact using the syntax I set above. See the > documentation on relationships between models: > > > https://docs.djangoproject.com/en/dev/topics/db/models/#many-to-one-relationships > > As far as this line goes: > > > value = models.CharField ( max_length = 150, default = p.qtdade ) > > It looks like you are trying to set a default in the model definition > that is dependent on a field in another model. Django doesn't support > this because this is a single value that is applied directly in the > database on the column during a migration/database initialization > (therefore, no objects exist in order to determine what that value > should be on a fresh migration). In general, you would set such a > value inside of the save() method for your model whenever a Contact is > saved, and use default='' (or default=None, but not recommended for > CharField fields) in the model definition above. > > See this link for more information regarding the save() method on models: > > > https://docs.djangoproject.com/en/dev/topics/db/models/#overriding-predefined-model-methods > > > > > 2015-07-07 4:08 GMT-03:00 James Schneider <[email protected]>: > >> > >> Can you give a simple example or analogy of what you are trying to do? > >> > >> -James > >> > >> On Jul 6, 2015 5:29 PM, "Carlos Andre" <[email protected]> wrote: > >>> > >>> Hello to all , I need to solve a problem. I have two classes of which > >>> have to use , in the second class, the first coming values. How to do > this? > >>> Thanks for listening! > >>> > > -- > 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/CA%2Be%2BciVWhKYeG5jV%2B00epKyOQv2zSJWVq%2BFg-XstRrP%2Bp0mdBg%40mail.gmail.com > . > For more options, visit https://groups.google.com/d/optout. > -- 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/CAA8yBMxc1%2Bjs-khiZK-L_sZhEhDxiK3WMDRNdCtcH4yPPfM0bQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

