Champ de choix dynamiques dans les modèles Django
Mon models.py:
SHOP1_CHOICES = (
('Food Court', 'Food Court'),
('KFC', 'KFC'),
)
SHOP2_CHOICES = (
('Sports Arena', 'Sports Arena'),
('Disco D', 'Disco D'),
)
SHOP3_CHOICES = (
('Bowling Arena', 'Bowling Arena'),
('Cinemax', 'Cinemax'),
)
class Feed(models.Model):
gender = models.CharField(max_length=5, choices=GENDER_CHOICES, default='girl')
name =models.CharField(max_length=25)
shop=models.CharField(max_length=20)
location=models.CharField(max_length=25, choices=SHOP1_CHOICES)
Ici si Feed.shop == 'shop1'
je veux charger SHOP1_CHOICES
sur Feed.location
. Actuellement, indépendamment du type de magasin, il affiche juste le SHOP1_CHOICES
(pas de surprise).Comment puis-je mettre en œuvre? Je suis coincé, s'il vous plaît aider.
source d'informationauteur Nazim Zeeshan
Vous devez vous connecter pour publier un commentaire.
C'est mon approche:
- Je utiliser paresseux paresseux pour charger:
Ici, une aide pour choisir les options:
Enfin, le modèle dynamique avec les choix:
De l'Django docs: http://docs.djangoproject.com/en/dev/ref/models/fields/#choices
Je ne pense pas que vous devriez le faire sur le modèle, la forme est un meilleur endroit. Ou, vous devriez repenser vos modèles. Par exemple:
Vous avez besoin d'utiliser certaines des fonctionnalités Ajax. Il n'ya aucun moyen que je sais où vous pouvez le faire dans la norme de l'interface d'administration de django sans le piratage de l'admin CSS, templates etc.
Je vous recommande d'utiliser une sorte de cascade de la bibliothèque, pour mettre en œuvre cette fonctionnalité dans vos propres points de vue à l'aide de ModelForms.
J'ai fait de même avec le plugin jquery Cascade dans quelques cas.Il y a de meilleures implémentations, mais cela fonctionne aussi très bien. Voir le lien ci-dessous
http://plugins.jquery.com/project/cascade