下拉django中字典的值
Values of a dict in a dropdown django
我的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)?
试试这个,
for i in range(len(allmarketplaces)):
print allmarketplaces[i]['mk_id__marketplace']
您正在寻找 values_list
:
>>> allmarketplaces = SellerMarketplaces.objects.filter(seller_id=seller).values_list('mk_id__marketplace', flat=True)
>>> print allmarketplaces
['Flipkart', 'Snapdeal']
我的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)?
试试这个,
for i in range(len(allmarketplaces)):
print allmarketplaces[i]['mk_id__marketplace']
您正在寻找 values_list
:
>>> allmarketplaces = SellerMarketplaces.objects.filter(seller_id=seller).values_list('mk_id__marketplace', flat=True)
>>> print allmarketplaces
['Flipkart', 'Snapdeal']