Tengo dos modelos como a continuación en django
class User(AbstractBaseUser, PermissionsMixin):
first_name = models.CharField(....)
last_name = models.CharField(_(....)
email = models.EmailField(...)
class VcsToken(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
como puede ver, VcsToken
está relacionado con el usuario, y un usuario puede tener muchos VcsToken
,
Entonces, ¿cómo obtengo todo el VcsTokens
de un User
.
De manera similar, tengo muchas relaciones de uno a muchos entre el usuario y otros modelos, entonces, ¿cómo sé su nombre de referencia? (Sé que es un, set
pero ¿cómo sé el nombre del conjunto?) ¿Hay alguna forma de enumerar los nombres del conjunto de consultas para un modelo?
Para un User
objeto dado myuser
, puede acceder a esto con:
myuser.vcstoken_set.all()
entonces, ¿cómo sé su nombre de referencia?
Este es el valor para el related_name=…
parámetro [Django-doc]. Si no existe tal parámetro en la ForeignKey
construcción, el valor predeterminado será modelname_set
, modelname
en minúsculas.
¿Hay alguna forma de enumerar los nombres de conjuntos de consultas para un modelo?
Puede acceder a todos ManyToOneField
los correos electrónicos con:
django.db.models.fields.reverse_related.ManyToOneRel
[f.get_accessor_name() for f in User._meta.get_fields() if isinstance(f, ManyToOneRel)]
Esto construirá una lista de los nombres de ForeignKey
s al revés.
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras