【问题标题】:Values of a dict in a dropdown djangodjango 下拉菜单中 dict 的值
【发布时间】:2015-11-18 18:10:40
【问题描述】:

我的models.py如下:

class SellerMarketplaces(models.Model):
id = models.IntegerField(db_column='ID',primary_key=True)  # Field name made lowercase.
seller_id = models.ForeignKey('Sellerdetails',db_column='Seller_ID')  # Field name made lowercase.
mk_id = models.ForeignKey('Marketplace',db_column='Mk_ID')  # Field name made lowercase.
username = models.CharField(db_column='Username', max_length=100, blank=True, null=True) 

我的视图中有以下代码

def marketplaces(request):  

seller = request.GET.get('seller', '')
allmarketplaces = SellerMarketplaces.objects.filter(seller_id = seller).values('mk_id__marketplace')
print allmarketplaces

通过它我得到以下输出:

[{'mk_id__marketplace': u'Flipkart'}, {'mk_id__marketplace': u'Snapdeal'}]

我想在下拉列表中显示值,即 Flipkart 和 Snapdeal,但我在编写时无法访问这些值

print allmarketplaces.values()

它给了我

 [{'username': u'mail@fields.com', u'seller_id_id': 1L, u'mk_id_id': 1L, 'id': 1L}, {'username': u'mail@fields.com', u'seller_id_id': 1L, u'mk_id_id': 2L, 'id': 2L}]

我如何访问这些值(Flipkart 和 Snapdeal)?

【问题讨论】:

  • 正确缩进代码

标签: python ajax django drop-down-menu


【解决方案1】:

您正在寻找values_list:

>>> allmarketplaces = SellerMarketplaces.objects.filter(seller_id=seller).values_list('mk_id__marketplace', flat=True)
>>> print allmarketplaces
['Flipkart', 'Snapdeal']

【讨论】:

    【解决方案2】:

    试试这个,

    for i in range(len(allmarketplaces)):
       print allmarketplaces[i]['mk_id__marketplace']
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-23
      • 2015-09-16
      • 1970-01-01
      • 2019-05-23
      • 1970-01-01
      • 2011-07-06
      • 2020-03-29
      • 2011-08-17
      相关资源
      最近更新 更多