返回用户id django
我有一个模型场返回用户id django,django,django-rest-framework,django-filter,Django,Django Rest Framework,Django Filter,我有一个模型场 account_handler = models.ForeignKey(User, blank=True, null=True, related_name='handling_leads', on_delete=models.SET_NULL) 目前我正在做类似的事情 def get_queryset(self): user_id = User.objects.all() queryset = User.objects.filter(handling_leads
account_handler = models.ForeignKey(User, blank=True, null=True, related_name='handling_leads', on_delete=models.SET_NULL)
目前我正在做类似的事情
def get_queryset(self):
user_id = User.objects.all()
queryset = User.objects.filter(handling_leads__account_handler=user_id).distinct()
return queryset
User.objects.filter(handling_leads__account_handler=self.request.user.id).distinct()
我得到了一些测试结果。现在的问题是,如何正确使用此字段并返回用户id
?我试过这样的东西
def get_queryset(self):
user_id = User.objects.all()
queryset = User.objects.filter(handling_leads__account_handler=user_id).distinct()
return queryset
User.objects.filter(handling_leads__account_handler=self.request.user.id).distinct()
不带outUser.objects.all()
,但这只是返回一个空查询集。我正在尝试对其进行筛选,以便可以使用user\u first\u name
和user\u last\u name
填充一个表,我需要user\u id
,以便将它们重定向到各自的页面
数据表的控制器:
app = angular.module 'statistics'
app.controller 'SalesCommissionsListCtrl', ['$scope', '$compile',
($scope, $compile) ->
$scope.init = ()->
fetchCommissionsList()
fetchCommissionsList = ()->
$('#commissionsSalesList').DataTable({
createdRow: (row, data, index) ->
$compile(row)($scope)
sDom: 'lftip',
processing: true,
serverSide:true,
searchDelay: 1000,
orderMulti: false,
pageLength: 10,
ajax: {
url: '/api/statistics/commissions/list/',
data: (data)->
data.limit = data.length;
data.offset = data.start;
data.search = data.search['value'];
if (data.order[0]['dir'] == 'asc')
data.ordering = data.columns[data.order[0]['column']].name;
else
data.ordering = '-' + data.columns[data.order[0]['column']].name;
return 0
dataFilter: (data) ->
json = jQuery.parseJSON(data);
json.recordsTotal = json.count;
json.recordsFiltered = json.count;
json.data = json.results;
return JSON.stringify(json);
}
columns: [
{
data: "username",
name: "username__first_name, username__last_name",
render: (data, type, row, meta)->
return '<a href="/statistics/commissions/sales/' + row.user_id + '">' + data + '</a>';
}
]
})
]
序列化程序:
from django.contrib.auth.models import User
from rest_framework import serializers
class SalesCommissionsSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'username', 'first_name', 'last_name')
如果要筛选“处理潜在客户”的用户,可以执行以下操作:
handling\u leads=User.objects.filter(handling\u leads\u isnull=False)
这里有一个指向文档的链接:我不太理解这一行:
user\u id=user.objects.all()
user\u id
表示一个用户,但您将所有用户分配给它。@creimers我对问题做了一些编辑,以便您能够理解该行是用于测试目的的,这样我就可以用某种数据填充我的表,问题仍然存在。我仍然认为您的整个get\u queryset
方法没有多大意义。你在找什么,一个用户?@creimers都不需要了,所以我可以填充我的表格,重点是我需要处理线索的用户,我需要把他们放到表格中最后,谢谢,我为此工作了两个小时