我在我的django-rest-api应用程序中使用PhoneNumberField
class User(AbstractBaseUser, PermissionsMixin):
phone_number = PhoneNumberField(_('phone number'), unique=True)
Run Code Online (Sandbox Code Playgroud)
我成功创建了超级用户与phonenumber和密码.但每次运行服务器我得到错误TypeError: __str__ returned non-string (type PhoneNumber)有人可以请帮助我
Stacktrace
TypeError: __str__ returned non-string (type PhoneNumber)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Emmanuel\Envs\myproject\lib\site-packages\django\core\handlers\exception.py", line 39, in inner
response = get_response(request)
File "C:\Users\Emmanuel\Envs\myproject\lib\site-packages\django\utils\deprecation.py", line 136, in __call__
response = self.get_response(request)
File "C:\Users\Emmanuel\Envs\myproject\lib\site-packages\django\core\handlers\exception.py", line 41, in inner
response = response_for_exception(request, exc)
File "C:\Users\Emmanuel\Envs\myproject\lib\site-packages\django\core\handlers\exception.py", line 86, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "C:\Users\Emmanuel\Envs\myproject\lib\site-packages\django\core\handlers\exception.py", …Run Code Online (Sandbox Code Playgroud) 我正在监听片段上按下的后退按钮,如下所示
val callback = requireActivity().onBackPressedDispatcher.addCallback(this) {
podcastViewModel.removePodcast();
// THEN - continue navigating
}
Run Code Online (Sandbox Code Playgroud)
removePodcast();继续导航返回后,如何执行类似的任务。上面的代码拦截后退按钮按下但不继续
在我的rspec测试中,我被困了几天.然后我发现问题是使用符号而不是字符串
user_response = JSON.parse(response.body, symbilize_names: true)
expect(user_response[:email]).to eql(@user.email)
Run Code Online (Sandbox Code Playgroud)
由于某些原因user_response[:email]返回以上代码总是失败nil
但是当我改变它以user_responce['email']通过测试
使用byebug进行调试以检查user_response的值
(byebyg) user_response
{"id"=>1, "email"=>"enola@bauch.ca", "created_at"=>"2017-08-30T14:22:43.597Z", "updated_at"=>"2017-08-30T14:22:43.597Z"}
Run Code Online (Sandbox Code Playgroud)
在上面的例子中使用符号和字符串有什么区别?
我正在编写这个客户管理过滤器,仅需要过滤本周/本周的查询集。我怎样才能实现这个目标
class WeekFilter(admin.SimpleListFilter):
title = _("Week")
parameter_name = "week"
def lookups(self, request, model_admin):
return (
('1', 'This week'),
)
def queryset(self, request, queryset):
if self.value() == '1':
return queryset.filter() # HERE
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这个queryset.filter(created_at__week__gte=1,created-at__week__lte=7) 但它没有按预期工作
可能我知道**的以下用途
力量
x ** y # x power y equivalent to pow(x,y)
Run Code Online (Sandbox Code Playgroud)
传递不定数量的参数
def sample(x, **other):
print(x, other.keys)
sample(x=2,y=3,z=4)
Run Code Online (Sandbox Code Playgroud)
但我不明白它何时用作以下(在序列化器中)
def create(self, validated_data):
return Comment(**validated_data)
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我那里发生了什么吗