HecKel Posted May 7, 2009 at 12:49 PM Report #262099 Posted May 7, 2009 at 12:49 PM Boas! Vou ser sucinto 👍 Tenho um modelo "Region" que vai armazenar Cidades, Países, Continentes, etc. E tenho um modelo Member que tem um campo designado como city que está associado ao modelo Regions. Não posso separar as cidades das regiões, senão deixa de fazer sentido no resto do projecto! Como fazer para, tanto no painel de admin como no registo de utilizadores aparecerem-me apenas as cidades? Deixo-vos aqui o meu modelo Region e Member: class Region(models.Model): TYPE_CHOICES = ( (u'R', u'Região'), (u'P', u'País'), (u'C', u'Cidade'), ) name = models.CharField(max_length=60) type = models.CharField(max_length=2, choices=TYPE_CHOICES) uplevel = models.ForeignKey('self', null=True, blank=True) def __unicode__(self): return self.name class Member(models.Model): bdate = models.DateField() city = models.ForeignKey(Region) user = models.ForeignKey(User, unique=True) def __unicode__(self): return self.user.username Agradeço ajuda! Look Left Blog
joana Posted May 12, 2009 at 02:00 PM Report #263392 Posted May 12, 2009 at 02:00 PM Acho que não entendi o que queres ... Queres filtrar os campos do modelo Member que aparecem no Admin?
HecKel Posted May 12, 2009 at 06:45 PM Author Report #263535 Posted May 12, 2009 at 06:45 PM Quero filtrar as opções que aparecem no campo cidade, quando estou a adicionar ou a editar um membro. O campo cidade está ligado a um modelo que agrupa regiões (continentes), países e cidades mas apenas quero associar o utilizador às cidades, não quero que seja possível um utilizador possa escolher "Europa" ou "Portugal", quero que as opções sejam apenas cidades! Look Left Blog
joana Posted May 13, 2009 at 06:43 PM Report #263923 Posted May 13, 2009 at 06:43 PM Se calhar numa form tua, deve dar assim: city= forms.ModelMultipleChoiceField(queryset=Region.objects.filter(type='c')) Já no admin... ?
HecKel Posted May 14, 2009 at 07:02 AM Author Report #264024 Posted May 14, 2009 at 07:02 AM Vou experimentar isso, thanks 😄 Look Left Blog
joana Posted May 14, 2009 at 09:07 AM Report #264038 Posted May 14, 2009 at 09:07 AM ForeignKey.limit_choices_toA dictionary of lookup arguments and values (see Making queries) that limit the available admin choices for this object. Use this with functions from the Python datetime module to limit choices of objects by date. For example: limit_choices_to = {'pub_date__lte': datetime.now} only allows the choice of related objects with a pub_date before the current date/time to be chosen. Instead of a dictionary this can also be a Q object (an object with a get_sql() method) for more complex queries. limit_choices_to has no effect on the inline FormSets that are created to display related objects in the admin. Experimenta na class member: city=models.ForeignKey(Region, limit_choices_to={'type':'c'}) PS: Nunca experimentei nenhuma das dicas que dei ...
HecKel Posted May 14, 2009 at 12:16 PM Author Report #264113 Posted May 14, 2009 at 12:16 PM Eu hoje tenho estado um bocado ocupado demais com o trabalho..., ainda não tive tempo de experimentar nada disso ? Amanhã tento dar feedback, thanks a lot 🙂 Look Left Blog
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now