Django динамические поля
Есть модель так называемых "карточек"
class Card(models.Model):
infinite = models.BooleanField(default=False)
manufacturer = models.CharField(max_length=128, default="eBANKING SYSTEM")
description = models.CharField(max_length=64, blank=False)
balance = models.BigIntegerField(blank=False, default=0)
owner = models.ForeignKey('users.Profile', blank=True, null=True, on_delete=models.DO_NOTHING, related_name='card_owner')
Их, у пользователя может быть сколь угодно. Мне необходимо, чтобы был <select> тэг со списком всех "карточек" пользователя, есть, допустим, у него 4 карточки, значит с помощью <select> и <option> вывести все 4 в форме, чтобы я в дальнейшем мог делать переводы с карточки на карточку. Надеюсь понятно объяснил)
Ответы (1 шт):
Автор решения: Dmitry
→ Ссылка
Как насчет добавить форму на страницу через django.forms?
Пример (forms.py):
from django import forms
from .models import Card
class CreateForm(forms.Form):
cards = froms.ModelChoiceField(label="", queryset=Card.objects.all(), empty_label="Cards")
# добавить сюда все, что хотите иметь в форме.
Во views.py
from .forms import CreateForm
def view_example(request):
# добавить логику для if request.method == "POST":....
form = CreateForm()
context = {'form':form}
return render(request, "any.html", context)
ну и в any.html:
<form action="" method="post">
{% csrf_token %}
<p> {{ form.cards }}</p><br>
<input type="submit" value="Push me">
</form>
код написан на коленке и отражает только идею. При формировании select'a вам необоходимы данные для queryset, а значить при создании объекта формы во views.py необходимо определять для кого карты вы хотите