我很难为我的问题找出正确的逻辑,我有 3 个模型,
class Item(SmartModel):
    name= models.CharField(max_length=64,help_text="Name for this item e.g Hamburger")
    price=models.DecimalField(max_digits=9,decimal_places=2)
    optionalitems = models.ManyToManyField('optionalitems.OptionalItemCategory',null=True,blank=True)
class OptionalItems(SmartModel):
     """Optional items that belong to an item e.g topping that belongs to a pizza"""
     name = models.CharField(max_length=20, help_text="Item name.")
     price = models.DecimalField(max_digits=9, decimal_places=2, null=True,blank=True)
class OptionalItemCategory(SmartModel):
    """Category to which optional items belong"""
    title = models.CharField(max_length=20,help_text="Category name")
    optional_items = models.ManyToManyField(OptionalItems)
在我的模板中,
{%for optionalcategory in optionalcategories %}
  <h5 id="blah"> {{ optionalcategory.title}} </h5>
  {% for optionalitem in optionalcategory.optional_items.all %}
   <ul>
    <input type="radio" value="radio" name="optional" value="op"><li id="item_appearence">{{optionalitem.name}}<span> {{optionalitem.price}}</span></li><a/>
   </ul>
  {% endfor %}
 {% endfor %}
因此,例如,Item像墨西哥卷饼一样会有OptionalItem牛排或鸡肉。我可以访问Item类似的东西,item = get_object_or_404(Item, pk=obj.id)但我的问题是我无法弄清楚如何捕获OptionalItem。我希望能够访问OptionalItem,我想获得单选按钮的值及其属性。它有点棘手。