如何解决如何使用石墨烯获得 area.names 的不同值?
我在 schema.py 中的解析器看起来像这样
def resolve_areas(self,info,**kwargs):
result = []
dupfree = []
user = info.context.user
areas = BoxModel.objects.filter(client=user,active=True).values_list('area_string',flat=True)
在 GraphiQL 中,我正在使用此查询:
{
areas {
edges {
node {
id
name
}
}
}
}
并得到像这样开始的输出:
{
"data": {
"areas": {
"edges": [
{
"node": {
"id": "QXJlYTpkZWZ","name": "default"
}
},{
"node": {
"id": "QXJlYTptZXN","name": "messe"
}
},
但我希望 name 变量具有不同的值 (使用如此独特的 MysqL 数据库是行不通的)
解决方法
distinct 不起作用。所以我只是写了一个短循环,它只跟踪列表中重复的字符串名称,如果它的名称尚未添加到重复列表中,则只附加整个“区域”对象
result = []
dupl_counter = []
for area in areas:
if area not in dupl_counter:
dupl_counter.append(area)
result.append(Area(name=area))
print(area)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。