我正在尝试重构一个Django项目.我重新命名了几个应用程序,并添加了一个新的应用程序,并改组了一些模型.我想清除我的数据库和迁移并重新开始,但我不知道如何实现这一目标.这是我做的:
rm -r myapp/migrations // I ran this for all my apps
python manage.py flush
python manage.py makemigrations myapp // I ran this for all my apps
python manage.py migrate // This errors
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
django.db.utils.OperationalError: table "myapp_mymodel" already exists
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我可能做错了什么?
编辑:什么是删除所有表的django命令?不工作.
我想在我的ModelViewSet中使用@list_route装饰器创建一个自定义视图,该装饰器需要几个参数.我似乎无法找到这样的例子.
我想我希望我的功能看起来像:
@list_route()
def my_list(self, request, arg1, arg2, arg3):
models = Model.objects.all().filter( """do some filtering with my args""" )
serializer = ModelSerializer(models, many=True, context={'request': request})
return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud)
同样,我不确定我应该在哪里或如何传递这些参数,或者我想做什么甚至是正确的,但这似乎是一个非常常见的用法.
我正在按照Django Rest Framework教程的方式进行工作,我只停留在第4部分。
向视图添加权限后,它说要创建几个片段。我通过可浏览的API登录,并尝试发布如下代码段:
{
"title": "snippet",
"code": "print 123"
}
Run Code Online (Sandbox Code Playgroud)
当我得到时:
/ snippets /中的IntegrityError
NOT NULL约束失败:snippets_snippet.owner_id
有人知道这是怎么回事吗?
Traceback:
File "/home/grez/restenv/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
111. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/grez/restenv/lib/python3.4/site-packages/django/views/decorators/csrf.py" in wrapped_view
57. return view_func(*args, **kwargs)
File "/home/grez/restenv/lib/python3.4/site-packages/django/views/generic/base.py" in view
69. return self.dispatch(request, *args, **kwargs)
File "/home/grez/restenv/lib/python3.4/site-packages/rest_framework/views.py" in dispatch
403. response = self.handle_exception(exc)
File "/home/grez/restenv/lib/python3.4/site-packages/rest_framework/views.py" in dispatch
400. response = handler(request, *args, **kwargs)
File "/home/grez/web/resttutorial/snippets/views.py" in post
23. serializer.save()
File "/home/grez/restenv/lib/python3.4/site-packages/rest_framework/serializers.py" in save
599. self.save_object(self.object, **kwargs)
File "/home/grez/restenv/lib/python3.4/site-packages/rest_framework/serializers.py" in …Run Code Online (Sandbox Code Playgroud) 我不明白如何使用块删除通知的观察者。
var block = NotificationCenter.default.addObserver(forName: .notifName, object: obj, queue: OperationQueue.current, using: { notification in
NotificationCenter.default.removeObserver(block)
// Do stuff
})
Run Code Online (Sandbox Code Playgroud)
这会出现编译器错误“变量在其自身的初始值内使用”。如何删除该观察者?
我在我的代码中犯了一个错误,我认为应该阻止它编译和运行,但事实并非如此.所以我很好奇,为什么要编译:
func function1() {
print("function1")
func function2() {
print("function2")
}
}
function1() // prints "function1"
Run Code Online (Sandbox Code Playgroud)