我正在将 djoser 与 django Rest 框架一起使用,并且我想从创建用户表单中删除用户名字段:
settings.py
:
'SERIALIZERS': {
'user_create': 'user.serializers.UserRegistrationSerializer',
},
Run Code Online (Sandbox Code Playgroud)
serializers.py
:
class UserRegistrationSerializer(BaseUserRegistrationSerializer):
class Meta(BaseUserRegistrationSerializer.Meta):
fields = ('email', 'password')
Run Code Online (Sandbox Code Playgroud)
我收到以下错误。你如何解决这个问题?
Run Code Online (Sandbox Code Playgroud)TypeError at /auth/users/create create_user() missing 1 required positional argument: 'username'
当我运行更新控制器它给我这个错误,我尝试从这个相同的平台有这个错误的不同的解决方案但他们的修复是用这样的保存($ product)的单独语法更新.我正在使用Model Store进行身份验证并保存数据或编辑删除.
"错误类型:参数1传递给照亮\数据库\雄辩\关系\ HasOneOrMany ::保存()必须照亮\数据库实例\口才\模型,给出阵列,称为C:\ XAMPP\htdocs中\购物\应用\ Http\Controllers\ProductController.php 138行◀"
更新方法
public function update(Request $request, Product $Product){
$store = Store::where('user_id', Auth::user()->id)->first();
$updateProduct = $store->product()->save([
'name'=> $request->input('name'),
'description' => $request->input('description'),
'normal_price' => $request->input('normal_price'),
'sale_price' => $request->input('sale_price'),
'category_id' => $request->input('category_id'),
]);
return redirect('product')->with('status', 'Product Updated');
}
Run Code Online (Sandbox Code Playgroud)
查看编辑表单
<form method="post" action="{{route('product.update', $product->id)}}">
{{ csrf_field() }}
{{ method_field('PUT') }}
Run Code Online (Sandbox Code Playgroud)