Как использовать данные из другой модели в формах, созданных с помощью другой модели в django?

прямо сейчас мой шаблон выглядит такenter image description here

Я хочу использовать эти карточки в качестве вариантов выбора в форме, которая находится справа. Я новичок, поэтому не могу понять как. Возможно ли это, чтобы я мог отображать данные из модели plans в формах, которые построены с использованием моей модели orders. В модели orders я использовал plans как внешний ключ

Forms.py



class BuyPlanForm(forms.ModelForm):
    error_css_class = 'error-field'
    required_css_class = 'required-field'
    pack = forms.ModelChoiceField(Plans.objects.all(), widget=forms.RadioSelect())

    class Meta():
        model = Orders
        fields = ['pack']

my Views.py

class UserBuyPlan(LoginRequiredMixin, View):
    template = 'plans/plan.html'
    success_url = reverse_lazy('home-home')

    def get(self, request):
        plans = Plans.objects.all()
        form = BuyPlanForm()
        
        ctx = {
            'form': form,
            'plans': plans,
        }
        return render(request, self.template, ctx)

    def post(self, request):
        form = BuyPlanForm(request.POST)
        form.instance.user = self.request.user
        if not form.is_valid():
            ctx = {'form': form}
            return render(request, self.template, ctx)

        make = form.save()
        return redirect(self.success_url)

my models.py


class Plans(models.Model):
    plan_name = models.CharField(max_length=50)
    speed = models.IntegerField()
    price = models.FloatField()

    def __str__(self):
        return self.plan_name

def get_deadline():
    return dt.today() + timedelta(days=30)


class Orders(models.Model):
    user = models.ForeignKey(CustomUser, primary_key=True, on_delete = models.CASCADE)
    pack = models.ForeignKey(Plans, on_delete = models.CASCADE)
    start_date = models.DateField(auto_now_add=True)
    end_date = models.DateField(default=get_deadline())
    is_active = models.BooleanField(default=True)

    def __str__(self):
        name = str(self.user.username)
        return name

    def get_absolute_url(self):
        return reverse('home-home')

мой html шаблон

помогите.

мне просто нужно было использовать блок if для сравнения метки выбора и названия из пакета, а затем отобразить дополнительные детали, если они оба совпадают. мой шаблон plans.html

теперь мой шаблон отображается вот так и работает. enter image description here

Вернуться на верх