Ich möchte ein select2 widget für ein manytomanyfield in django verwenden. Es gibt mehrere django/select2-Module, aber die Dokumentation ist verwirrend, und ich kann kein einfaches Beispiel dafür finden, was ich will. Danke für jede Hilfe.In Django, wie verwende ich ein select2 widget für ein manyTomanyfield?
Antwort
Guter Ort zum Starten ist django-select2, sie haben eine gute Arbeit example auch.
Hier herauszufinden, ich nur die Hauptidee im Zusammenhang mit ihrem Beispiel
Modell
@python_2_unicode_compatible
class Album(models.Model):
title = models.CharField(max_length=255)
artist = models.ForeignKey(Artist)
featured_artists = models.ManyToManyField(Artist, blank=True, related_name='featured_album_set')
primary_genre = models.ForeignKey(Genre, blank=True, null=True, related_name='primary_album_set')
genres = models.ManyToManyField(Genre)
def __str__(self):
return self.title
Die Felder, was ist, wird die select2 hier mit ManyToMany Beziehungstyp präsentiert abgebildet werden.
Form
class AlbumSelect2WidgetForm(forms.ModelForm):
class Meta:
model = models.Album
fields = (
'artist',
'primary_genre',
)
widgets = {
'artist': Select2Widget,
'primary_genre': Select2Widget,
}
Es ist sehr einfach Select2Widget anpassen, wenn es brauchen wird.
Und die letzte - html Teil
{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
{{ form.media.css }}
<style type="text/css">
select {
width: 200px;
}
</style>
</head>
<body>
<form method="post" action="">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit Form"/>
</form>
<script src="{% static '//code.jquery.com/jquery-2.1.4.min.js' %}"></script>
<script type="text/javascript">
window.onerror = function (msg) {
$("body").attr("JSError", msg);
}
</script>
{{ form.media.js }}
</body>
Vielen Dank für Ihr Arbeitsbeispiel. – Sardathrion
In Django> = 2,0,
Die neuen ModelAdmin.autocomplete_fields Attribut und ModelAdmin.get_autocomplete_fields() Methode erlaubt die Verwendung eines Select2 Such-Widget für ForeignKey und ManyToManyField.
Quelle: https://docs.djangoproject.com/en/2.0/releases/2.0/#minor-features
- 1. Django: Zeige ein ManyToManyField in einer Vorlage?
- 2. Django wie Show ManyToManyField in Vorlage als Select-Widget
- 3. Wie verwende ich ein Tab Widget in Android?
- 4. django-easy-select2 Select2Multiple Widget nicht rendern
- 5. How to resize django ManyToManyField Widget auf der Admin-Seite
- 6. ValueError in ManyToManyField | Django
- 7. Wie fügt man Daten in ManyToManyField ein?
- 8. django ManyToManyField und on_delete
- 9. add() für ManyToManyField, die ein Zwischenmodell spezifiziert
- 10. Django - ManyToManyField wird in Formular
- 11. Django: select_related mit ManyToManyField
- 12. kartik Select2 Widget. Wie ändere ich die Farbe der Auswahl?
- 13. Django OneToOneField, ManyToManyField, Fremdschlüssel
- 14. Wie verhindere ich, dass ein ManyToManyField ('self') ein Objekt mit sich selbst verknüpft?
- 15. Struktur für ein Widget-Code
- 16. Platzhalter für ein benutzerdefiniertes Widget
- 17. Django Custom Manager mit ManyToManyField
- 18. Wie verwende ich Matcher in select2.js v.4.0.0 +?
- 19. Wie zähle ich Objekte mit einer ManyToManyField-Beziehung in Django?
- 20. Wie verwende ich ein Kontrollkästchen in Delphi?
- 21. Wie verwende ich ein `Konzept` in Nim?
- 22. Wie verwende ich CommaSeparatedIntegerField in Django? hier
- 23. Django (1.2) Formulare: ManyToManyField Hilfetext
- 24. Wie deaktiviere ich ein "dijit.form.FilteringSelect" Widget?
- 25. Wie ManyToManyField-Widget zu CheckboxSelectMultiple ändern, ohne Felddefinition in einem ModelForm
- 26. Wie lege ich Standard-Widget-Attribute für ein Django ModelForm fest?
- 27. Django: Wie verwende ich STATICFILES_FINDERS
- 28. Wie erstelle ich ein Anfrageobjekt in Django?
- 29. Wie füge ich ein Bild in Select2 Optionen hinzu?
- 30. Django models.CommaSeparatedIntegerField mit forms.CheckboxSelectMultiple widget
django-select2-Formen macht es extrem einfach. – user1993015