moneylog получает связь с moneybook, и когда я создаю moneylog, я хочу moneybook of moneylog выбрать default = moneybook.pk
, и это мои коды.
moneylog / model .py
moneybook = models.ForeignKey(
moneybook_models.Moneybook, on_delete=models.CASCADE)
moneylogs / urls.py
app_name = "moneylogs"
urlpatterns = [
path("create/<int:pk>/", views.moneylog_create.as_view(), name="create"),
moneybooks / detail. html
<a style="display:scroll;position:fixed;bottom:50px;right:30px;" href="{% url 'moneylogs:create' pk %}">
<div class="rounded-full h-16 w-16 flex items-center justify-center bg-red-400 text-bold font-bold text-white">+</div>
</a>
поэтому, если я нажму кнопку +, то
moneylogs / views.py
class moneylog_create(FormView):
form_class = forms.CreateMoneylogForm
template_name = "moneylogs/create.html"
def form_valid(self, form):
moneylog = form.save()
moneylog.save()
return redirect(reverse("cores:home"))
moneylog / forms.py
class CreateMoneylogForm(forms.ModelForm):
class Meta:
model = models.Moneylog
form.fields['moneybook'].initial = moneybook_models.Moneybook.objects.get(
pk=pk)
fields = (
"pay_day",
"payer",
"dutch_payer",
"price",
"category",
"memo",
)
widgets = {
"dutch_payer": forms.CheckboxSelectMultiple
}
def save(self, *args, **kwargs):
moneylog = super().save(commit=False)
return moneylog
но это не работает. как вы видите .. как я могу перевести moneybook.pk в moneylogs forms.py? или как можно добиться того, что Moneybook принадлежит Moneybook по умолчанию?