/ / Sélection de valeurs pour remplir la liste déroulante à l'aide de Modelform - django, django-forms, django-views

Sélection de valeurs pour remplir la liste déroulante à l'aide de Modelform - django, django-forms, django-views

Je veux obtenir tous les noms de pays dans une liste afin que je puisse le définir comme source d'un menu déroulant.

Ma classe de modelform ressemble à celle ci-dessous

class UserExtForm(ModelForm):
countries = Countries.objects.values("countryname").filter(countryname__isnull = False)

class Meta:
model = UserExtras
fields=["phone","aboutme","countries"]

J'essaie de remplir les pays d'objet avec tous les noms de pays, mais lorsque le formulaire html est affiché, la liste déroulante est remplie avec le texte "Objet pays". S'il vous plaît aidez-moi en soulignant ce qui est ici.

Merci beaucoup

Réponses:

1 pour la réponse № 1

dans votre models.py

from django.db import models

class Article(models.Model):
countries = models.CharField(max_length=200) //whatever

def __str__(self):              # __unicode__ on Python 2
return self.countries

pris à partir de les docs :

"Il est important d'ajouter str() méthodes à vos modèles, pas seulement pour vos proprescommodité pour traiter l’invite interactive, mais aussi parce que les représentations des objets sont utilisées dans l’administrateur généré automatiquement par Django. "