In meinem Django Projekt habe ich ein Profil für jeden django Benutzer, und das Profil ist mit einem Info Modell verbunden. Beide Beziehungen sind OneToOne. Da ich die meiste Zeit sowohl das Profil als auch die Info-Modelle für einen Benutzer verwende, möchte ich, dass diese standardmäßig ausgewählt werden, damit ich nicht erneut auf die Datenbank stoße. Gibt es eine Möglichkeit, dies mit Django-Authentifizierung zu tun?Automatisch für OneToOne Feld
5
A
Antwort
0
Verwenden Sie django> = 1.5 für benutzerdefiniertes Benutzermodell, wählen Sie verwandte Funktionen.
user = User.objects.select_related('profile_related', 'info_related')
0
Ich weiß, das ist für eine Weile hier gewesen, aber ich bin Zugabe Gesichter meiner Lösung, falls jemand anderes eine ähnliche Situation. Django (ab v1.8 und sogar v1.7) können Sie maßgeschneiderte die Manager (.objects verwendet bei der Abfrage)
Sie einen Manager wie dies für Profil haben könnte:
class ProfileManager(models.Manager):
# use_for_related_fields = True
def get_queryset(self):
return super(ProfileManager, self).get_queryset().select_related('user')
dann im Modell:
class Profile(models.Model):
user = models.OneToOneField(
User,
primary_key=True,
on_delete=models.CASCADE
)
# your fields ...
# the manager
objects = ProfileManager()
# ...
dann werden alle Ihre Anfragen auf Profil werden den dazugehörigen Benutzer auch automatisch auswählen. Sie könnten diesen Code erweitern, um das Modell Info auch zu enthalten.
Viel Glück!
Verwandte Themen
- 1. ForeignKey vs OneToOne Feld django
- 2. Django Fabrik Junge Fabrik mit OneToOne Beziehung und verwandtes Feld
- 3. Doktrin - OneToOne Unidirektional vs OneToOne Bidirektional
- 4. OneToOne Relation
- 5. JPA OneToOne bidirektional.
- 6. Verwenden Sie Anweisung für @OneToOne - Doctrine2
- 7. JPA OneToOne Relation automatische Erstellung
- 8. JPA - Wiederholte Spalte im Mapping für Entität @OneToOne
- 9. Feld automatisch aktualisieren, wenn ein anderes Feld geändert wird
- 10. Hibernate @OneToOne funktioniert nicht
- 11. Hibernate ManyToOne vs OneToOne
- 12. Hibernate - bidirektionale @OneToOne
- 13. django OneToOne Reverse-Zugang
- 14. Hibernate @OneToOne @NotNull
- 15. Restangular OneToOne Verbindung
- 16. org.hibernate.MappingException: Wiederholte Spalte im Mapping für Entität für OneToOne Mapping
- 17. Django-Modelle mit OneToOne-Beziehungen?
- 18. Symfony2 Form und Doctrine OneToOne Beziehung
- 19. Benutzerdefinierte OneToOne Hibernate/JPA Association
- 20. Relation OneToOne mit symfony3/Lehre
- 21. jpa-Ruhezustand @OneToOne @JoinColumn referredColumnName ignoriert
- 22. JPA verwaiste Entfernung funktioniert nicht für OneToOne Beziehungen
- 23. Doctrine ODM OneToOne bidirektionale Referenz mit repositoryMethod
- 24. Hibernate OneToOne verbunden mit einzigartigen, aber nicht Primärschlüssel
- 25. Django Admin: OneToOne Beziehung als Inline?
- 26. Wie Hibernate Annotationen OnetoOne im Frühjahr verwendenMvc?
- 27. Force Hibernate @ OneToOne Beziehung (LIMIT 1)
- 28. Hibernate @OneToOne Verweise auf einen unbekannten Entitätsfehler
- 29. Hibernate OneToOne bidirektionaler Fremdschlüssel beim Einfügen
- 30. Hibernate JPA OneToOne Abfrage trotz Lazy Fetch