Angenommen, ich möchte sagen, Umfrage-Entscheidungen von Benutzern jeden Tag. In diesem Fall habe ich eine Tabelle mit dem Namen vote
mit den Spalten poll
, choice
und user-id
. Also wie kann ich die Beschränkung (vielleicht in den Django-Modellen oder wo immer möglich), dass poll
und user-id
beide nicht für jeden Eintrag identisch sein sollte, aber wie derselbe Benutzer für verschiedene Umfragen einmal abstimmen kann und offensichtlich verschiedene Benutzer für die Abstimmung können Gleiche Umfrage. Ich hoffe ich bin klar.Django - Erstellen Sie eine Datenbankeinschränkung für 2 oder mehr Felder zusammen
Antwort
unique_together möglicherweise was Sie suchen.
Das unique_together
Attribut der Meta
Klasse des Modells ist, was Sie suchen:
class Meta:
unique_together = ('poll', 'user_id')
prüfen django docs für weitere Informationen.
Sie wollen das unique_together
Attribut: https://docs.djangoproject.com/en/dev/ref/models/options/#unique-together
Soweit ich weiß, können Sie eine Bearbeitung vorschlagen diese Antwort, wenn es dir irgendwie nicht gefällt. Das wird dann akzeptiert werden, vorausgesetzt, Ihre vorgeschlagene Bearbeitung ist kein Mist, und Sie werden etwas Positives für die Welt beigetragen haben. Eine Antwort, die 3 Jahre alt ist, wenn die [akzeptierte Antwort] (http://stackoverflow.com/a/2881073/111777) immer noch korrekt ist, scheint ein wenig unnötig zu sein, aber ich denke, es ist dein Vorrecht. –
Sie müssen zustimmen, dass die Antwort, die nur einen Satz mit Link ist und dieser Link ist gebrochen ist keine wirklich gute Antwort, oder? :) Im Gegensatz gibt es upvoted eine, die acceptect und Link ist korrekt. Deshalb schätze ich andere nicht. – Drachenfels
- 1. entweder oder Felder django Modelle
- 2. PyMongo erstellen einzigartigen Index mit 2 oder mehr Feldern
- 3. django mehrere Abfragefilter - Spiel 1 oder 2 Felder
- 4. Größter Wert von zwei oder mehr Felder
- 5. Django dynamische Modelle erstellen. Felder kollidieren
- 6. Django-Modellvererbung. Felder ausblenden oder entfernen
- 7. Django Felder zuweisen HTML-Felder
- 8. Django limit_choices_to für mehrere Felder mit "oder" Bedingung
- 9. mehr Verbindungen oder mehr Datenbankfelder?
- 10. MySQL erstellen eine Reihe von zwei oder mehr Result
- 11. produziert 2 oder mehr kurze Töne, wenn eine Webseite lädt
- 12. Django. Holen Sie Werte für alle Felder in einem Objekt
- 13. erstellen, neue Themen oder bekommen mehr Arbeit für Themen
- 14. Wählen Sie Felder für Includes in Schienen
- 15. Empfehlen Sie eine Farbskala für 13 oder mehr Kategorien
- 16. Vergleichen Sie 2 oder mehr Spaltenwerte in beliebiger Reihenfolge
- 17. Splitting String in 2 oder mehr Regex
- 18. Django kundenspezifische einzigartige zusammen Einschränkung
- 19. Django-Modell iterieren Felder
- 20. Wie verkettet man mehr als 2 Felder mit SQL?
- 21. Django Startswith auf Felder
- 22. Wählen Sie 2 oder mehr Spalten auf DataTable mit LINQ
- 23. Verbinden Sie 2 oder mehr Android-Clients direkt
- 24. Django Rest ModelSerializer Suchen oder Erstellen Muster
- 25. MongoDB: Wie eine Sammlung von 2 Felder
- 26. Splitting mit select für 2 oder mehr Semikolons getrennte Elemente
- 27. Kombinieren Sie 2 oder mehr JSON in PHP
- 28. Wie funktioniert Floating 2 (oder mehr) divs?
- 29. Mapping Einheiten auf 2 (oder mehr) Datenbanken
- 30. Django-Queryset-Filter für rückwärtsbezogene Felder
möglich Duplikat von [Wie zwei Felder „einzigartig“ als Paar definieren] (http://stackoverflow.com/questions/2201598/how-to-define-two -fields-unique-as-couple) – ecampver