10
votes

Comment puis-je boucler à travers des champs d'un objet?

J'ai un modèle comme celui-ci, comment puis-je boucler à travers elle et ne pas avoir à taper la société.Id, société.name, etc.

class Company(models.Model):
    name = models.CharField(max_length=1000)
    website = models.CharField(max_length=1000)
    email = models.CharField(max_length=200)
    phone_number = models.CharField(max_length=100)
    city = models.CharField(max_length=1000)
    zip = models.IntegerField()
    state = models.CharField(max_length=1000)
    address = models.CharField(max_length=1000)
    address2 = models.CharField(max_length=1000)


2 commentaires

Pour faire quoi? Attribuer à eux? Utilise les?


Dupliqué possible de Django - Itérater sur le champ d'instance de modèle Noms et valeurs dans le modèle


4 Réponses :


5
votes

premier Obtenez-les , puis utilisez une compréhension de boucle ou de liste.


0 commentaires

1
votes

Ceci est une solution possible:

# this returns a dict with the property 
# name as key and the property val as its value
entity.__dict__.get('_entity') 


0 commentaires

23
votes

Vous pouvez boucler sur tous les noms de champs tels que

from django.contrib.auth.models import User
for field in User._meta.get_fields():
    print field


0 commentaires

8
votes

itération dans une vue :

si vous avez une instance société de société : xxx < / pré>


1 commentaires

Excellent! Comment puis-je supprimer des tuples spécifiques de la liste DICT_ITEMS que __ dict __. Éléments () génère?