我正在学习有关为身份验证目的制作自定义用户的教程。本教程使用了add_fieldsets
UserAdmin 中的某个属性。这是什么意思?我似乎找不到任何关于此的文档。
这是片段:
class UserAdmin(UserAdmin):
"""Define admin model for custom User model with no email field."""
fieldsets = (
(None, {'fields': ('email', 'password')}),
('Personal info', {'fields': ('first_name', 'last_name')}),
('Permissions', {'fields': ('is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions')}),
('Important dates', {'fields': ('last_login', 'date_joined')}),
('Contact info', {'fields': ('contact_no',)}),)
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('email', 'password1', 'password2'),}),)
list_display = ('email', 'first_name', 'last_name', 'is_staff')
search_fields = ('email', 'first_name', 'last_name')
ordering = ('email',)
Run Code Online (Sandbox Code Playgroud)
我正在尝试在django.contrib.auth.models
User模型中添加一些额外的字段.我将在整个项目中使用这个自定义用户模型.我曾经AbstractUser
添加name
和contact
字段.
class User(AbstractUser):
name = models.CharField(_('Name of User'), blank=True, max_length=255)
contact = models.CharField(max_length=20, blank=True)
def __str__(self):
return self.username
Run Code Online (Sandbox Code Playgroud)
在我settings.py
,我添加到apps.authentication
,这是我的应用程序:
INSTALLED_APPS = [ 'apps.authentication', ...]
Run Code Online (Sandbox Code Playgroud)
我还指定了我AUTH_USER_MODEL
:
AUTH_USER_MODEL = 'authentication.User'
Run Code Online (Sandbox Code Playgroud)
然后我运行了迁移并且它工作了(我检查了我的本地数据库;制作了新表).但是,当我使用Django管理员访问它时,无法找到name
和contact
字段.如何显示字段?
我正在尝试在我的内部使用ViewModel,EarthquakeActivity
但我一直收到此错误:
Wrong 1st argument type. Found: 'com.example.android.quakereport.EarthquakeActivity', required: 'androidx.lifecycle.LifecycleOwner'
Run Code Online (Sandbox Code Playgroud)
这是从我尝试做的时候开始的
mainViewModel.getEarthquakeData().observe(this, new Observer<List<Earthquake>>() {
@Override
public void onChanged(List<Earthquake> earthquakes) {
// do something
}
});
Run Code Online (Sandbox Code Playgroud)
在this
这活动返回一个错误.
我读到这里是AppCompatActivity
已经延伸LifecycleOwner,这是我使用的是什么.这有什么不对?每个其他教程都没有这个问题.
我的EarthquakeActivity.java
:
package com.example.android.quakereport;
import android.arch.lifecycle.ViewModelProviders;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import java.util.ArrayList;
import java.util.List;
import POJO.Earthquake;
import POJO.RootEarthquakeResponse;
import androidx.lifecycle.Observer;
import retrofit2.Call;
public class EarthquakeActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private RecyclerView.Adapter adapter;
private LinearLayoutManager layoutManager;
public …
Run Code Online (Sandbox Code Playgroud) java android viewmodel gradle android-architecture-components