【发布时间】:2020-09-28 15:18:54
【问题描述】:
我的测试没有显示 get() 返回了多个权限——它返回了 2 个! 但是我想返回多个权限,但我无法获得列表。我正在使用 ajax 在模式上显示这些列表。我的问题是我想在下面显示基于 idd 的所有用户类型名称。如果有专家可以提供帮助,请提前分享一些解决方案。
returned more than one permissions -- it returned 2!
views.py
def ajax(request):
idd = request.GET.get('id')
app_permission_tbl_usid = permissions.objects.get(user_id=idd)
app_permission_tbl_permid = app_permission_tbl_usid.permission_id
datas = usertypes.objects.get(id=app_permission_tbl_permid)
list_of_permission = datas.usertype
return JsonResponse({"result": list_of_permission})
models.py
class AuthUser(models.Model):
password = models.CharField(max_length=128)
last_login = models.DateTimeField(blank=True, null=True)
is_superuser = models.IntegerField()
username = models.CharField(unique=True, max_length=150)
first_name = models.CharField(max_length=150)
last_name = models.CharField(max_length=150)
email = models.CharField(max_length=254)
is_staff = models.IntegerField()
is_active = models.IntegerField()
date_joined = models.DateTimeField()
class Meta:
managed = False
db_table = 'auth_user'
class usertypes(models.Model):
usertype = models.CharField(max_length=264)
description = models.CharField(max_length=264)
status = models.CharField(max_length=264)
class permissions(models.Model):
user = models.ForeignKey(AuthUser, models.DO_NOTHING)
permission = models.ForeignKey(usertypes, models.DO_NOTHING)
javascript
<script type="text/javascript">
function modal (post_id) {
$.ajax({
url: '/ajax/',
data: {
'id': post_id
},
success: function(response){
document.getElementById('firstNameValueId').innerHTML = response.result
$("#editmodal").modal('show');
}
});
}
我的模态显示结果
<select multiple="multiple" id="firstNameValueId" size="10" class="duallistbox">
<option value="1">Admin</option>
</select>
【问题讨论】:
-
您应该使用
.filter而不是.get。这也意味着你不能使用.permission_id,因为有多个。 -
可以分享一下相关模型吗?
-
@WillemVanOnsem 感谢您的回复,我已经更新并添加了上面的模型。请帮帮我