这篇文章主要围绕和Django无法分配“u'1'”:“StaffProfile.user”必须是“User”实例展开,旨在为您提供一份详细的参考资料。我们将全面介绍的优缺点,解答Django无法分配“
这篇文章主要围绕和Django无法分配“ u'1'”:“ StaffProfile.user”必须是“ User”实例展开,旨在为您提供一份详细的参考资料。我们将全面介绍的优缺点,解答Django无法分配“ u'1'”:“ StaffProfile.user”必须是“ User”实例的相关问题,同时也会为您带来/ profiles / user-profile / UserProfile上的DidsNotExist不存在匹配查询、/createPost 处的 ValueError 无法分配“
- (Django)无法分配“ u'1'”:“ StaffProfile.user”必须是“ User”实例(无法分配给函数调用 python)
- / profiles / user-profile / UserProfile上的DidsNotExist不存在匹配查询
- /createPost 处的 ValueError 无法分配“
- com.google.firebase.auth.UserProfileChangeRequest的实例源码
- CRM User Status profile 中 Business Transaction 字段的用途
(Django)无法分配“ u'1'”:“ StaffProfile.user”必须是“ User”实例(无法分配给函数调用 python)
我有一个如下模型:
class StaffProfile(models.Model): user = models.ForeignKey(User) maas = models.FloatField() maas_gunu = models.CharField(max_length=5)
当我尝试使用如下代码插入数据时:
staffprofilesay = StaffProfile.objects.filter(user = user_id).count() if staffprofilesay > 0: staffprofile = StaffProfile.objects.get(user = user_id) else: staffprofile = StaffProfile() staffprofile.user = user_id staffprofile.maas = calisan_formu.cleaned_data["maas"] staffprofile.maas_gunu = calisan_formu.cleaned_data["maas_gunu"] staffprofile.save()
我收到这样的错误:
Cannot assign "u''1''": "StaffProfile.user" must be a "User" instance.
我应该做些什么?
PS:我正在使用Django的用户模型
答案1
小编典典您需要分配一个用户对象,例如
from django.contrib.auth.models import Useruser = User.objects.get(id=user_id)staffprofile.user = user
/ profiles / user-profile / UserProfile上的DidsNotExist不存在匹配查询
它将呈现末尾的空格。因此,模板应如下所示:
# no space ↓
<input type='hidden' name='username' value="{% if username %}{{ username }}{% else %}{{ testuser }}{% endif %}">
/createPost 处的 ValueError 无法分配“
如何解决/createPost 处的 ValueError 无法分配“<SimpleLazyObject:<django.contrib.auth.models.AnonymousUser?
大家好,我正在尝试使用 Django 发布图像文件。我不知道发生了什么,我在尝试修复一个错误时遇到了另一个错误,所以请查看代码,我在 /createPost 遇到了 ValueError
无法分配 ">": "Post.author" must be a "User" instance 这个错误我不知道发生了什么,我是初学者。
视图.py
from django.shortcuts import render,redirect
from django.http import HttpResponse
from .models import Post
from .forms import PostForm
# Create your views here.
def index(request):
post = Post.objects.order_by("-pub_date")
context = {
"posts": post
}
return render(request,"index.html",context)
def post_create(request):
form = PostForm(request.POST,request.FILES or None)
if form.is_valid():
title = form.cleaned_data["title"]
content = form.cleaned_data["content"]
img = form.cleaned_data["img"]
username = request.user
post = Post.objects.create(title = title,content = content,img = img,author = username)
post.save
return redirect("posts:home")
else:
form = PostForm()
context = {
"form": form
}
return render(request,"postcreate.html",context)
模型.py
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
# Create your models here.
class Post(models.Model):
title = models.CharField(max_length = 200)
content = models.TextField(null = True,blank = True)
img = models.ImageField(upload_to = "static/my_post_pic",null = True,blank = True)
pub_date = models.DateTimeField(default = timezone.Now)
author = models.ForeignKey(User,on_delete = models.CASCADE)
def __str__(self):
return f"{self.title} // {self.author}"
Forms.py
from django import forms
from .models import Post
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = (''title'',"content","img")
urls.py
from django.urls import path
from . import views
app_name = "posts"
urlpatterns = [
path("",views.index,name = "home"),path("createPost",views.post_create,name = "createPost")
]
postCreate.html
{% extends ''base.html'' %}
{% block content %}
<form method="POST">
{% csrf_token %}
<div>
<label for="inputEmail3">Title</label>
<div>
<input type="text" name = "title"id="inputEmail3" placeholder="Title">
</div>
</div>
<div>
<label for="inputPassword3">Content</label>
<div>
<input type="text" name = "content"id="inputPassword3" placeholder="Content">
</div>
</div>
<div>
<label for="exampleFormControlFile1">Image</label>
<input type="file" name = "img"id="exampleFormControlFile1">
</div>
<div>
<div>
<button type="submit">Post</button>
</div>
</div>
</form>
{% endblock content %}
解决方法
您的用户未登录,因此出现错误。在这种情况下,您可以使用 @login_required
decorator [Django-doc] 重定向到登录页面:
from django.contrib.auth.decorators import login_required
@login_required
def post_create(request):
# …

com.google.firebase.auth.UserProfileChangeRequest的实例源码
项目:instagram_clone
文件:AccountActivity.java
private void createuserProfile(String name,String uid,String email) {
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
User user = new User(uid,name,email);
myRef.child("users").child(uid).setValue(user);
FirebaseUser currentUser = mAuth.getCurrentUser();
UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setdisplayName(name).build();
currentUser.updateProfile(profileUpdates)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()) {
Log.d(TAG,"User display_name added");
}
}
}
);
}
项目:PimPam
文件:AccountDetailsInteractorImpl.java
public void AddUserInfoRequest(String name,String url,final AccountDetailsInteractor.OnAccountDetailsListener listener){
Uri picUri = Uri.parse(url);
UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setdisplayName(name)
.setPhotoUri(picUri)
.build();
user.updateProfile(profileUpdates)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
listener.onUserInfoUpdateSuccess();
}
}
});
}
项目:PimPam
文件:SettingsInteractorImpl.java
public void AddUserInfoRequest(String name,final OnSettingsFinishedListener listener){
Uri picUri = Uri.parse(url);
UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setdisplayName(name)
.setPhotoUri(picUri)
.build();
user.updateProfile(profileUpdates)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
listener.onUserInfoUpdateSuccess();
}
}
});
}
项目:MyNotes
文件:EditProfileActivity.java
@OnClick(R.id.editProfileButton)
public void editProfileClick() {
String name = nameEditText.getText().toString();
if(!name.isEmpty()) {
UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setdisplayName(name)
.build();
CheckLoginActivity.user.updateProfile(profileUpdates)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(getBaseContext(),R.string.edit_profile_changed,Toast.LENGTH_SHORT).show();
finish();
}
}
});
} else {
nameEditText.setError(getString(R.string.profile_name_edit_error));
}
}
项目:snippets-android
文件:MainActivity.java
private void updateProfile() {
// [START update_profile]
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setdisplayName("Jane Q. User")
.setPhotoUri(Uri.parse("https://example.com/jane-q-user/profile.jpg"))
.build();
user.updateProfile(profileUpdates)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.d(TAG,"User profile updated.");
}
}
});
// [END update_profile]
}
项目:GeoShare_Android
文件:LoginActivity.java
private void signUp() {
if (hasAccepted) {
showingSignUp = false;
firebaseAuth.createuserWithEmailAndPassword(email,password)
.addOnCompleteListener(this,new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (!task.isSuccessful()) {
if (task.getException() != null) Toast.makeText(LoginActivity.this,task.getException().getMessage(),Toast.LENGTH_SHORT).show();
} else {
UserProfileChangeRequest profileChangeRequest = new UserProfileChangeRequest.Builder()
.setdisplayName(name)
.build();
user = firebaseAuth.getCurrentUser();
Userinformation userinformation = new Userinformation(name,name.toLowerCase());
if (user != null) {
user.updateProfile(profileChangeRequest);
String userId = user.getUid();
ref.child("users").child(userId).setValue(userinformation);
}
setLoginView();
}
}
});
} else {
((CheckBox) findViewById(R.id.agree_check)).setError(getString(R.string.error_field_required));
}
}
项目:GeoShare_Android
文件:MainActivity.java
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,String s) {
if (s.equals("mobile_network")) {
boolean mobileNetwork = sharedPreferences.getBoolean("mobile_network",true);
Intent trackingService = new Intent(this,TrackingService.class);
if (mobileNetwork) {
startService(trackingService);
} else if (Connectivity.isConnectedMobile(this)){
stopService(trackingService);
}
} else if (s.equals("display_name")) {
String name = sharedPreferences.getString(s,"DEFAULT");
databaseReference.child("users").child(userId).child("name").setValue(name);
databaseReference.child("users").child(userId).child("caseFoldedname").setValue(name.toLowerCase());
UserProfileChangeRequest profileChangeRequest = new UserProfileChangeRequest.Builder().setdisplayName(name).build();
firebaseUser.updateProfile(profileChangeRequest).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
setdisplayName();
}
});
}
}
项目:MoonlightNote
文件:UserFragment.java
private void updateProfile(@Nullable String nickname,@Nullable Uri uri) {
UserProfileChangeRequest profileUpdates = null;
if (nickname != null) {
profileUpdates = new UserProfileChangeRequest.Builder().setdisplayName(nickname).build();
}
if (uri != null) {
profileUpdates = new UserProfileChangeRequest.Builder().setPhotoUri(uri).build();
if (BuildConfig.DEBUG) {
Log.d(TAG,"updateProfile Photo uri: " + profileUpdates.getPhotoUri().toString());
}
}
if (profileUpdates != null) {
user.updateProfile(profileUpdates).addOnCompleteListener(task -> {
if (task.isSuccessful()) {
if (BuildConfig.DEBUG) { Log.d(TAG,"updateProfile: User profile updated."); }
if (mUser != null) {
BusEventUtils.post(Constants.BUS_FLAG_UPDATE_USER,null);
UserUtils.updateUser(user.getUid(),mUser);
}
}
});
}
}
项目:LuxVilla
文件:firebaseutils.java
public static void setuserfirstdata(final Context context,String username){
FirebaseAuth auth=FirebaseAuth.getInstance();
FirebaseUser user = auth.getCurrentUser();
UserProfileChangeRequest.Builder builder = new UserProfileChangeRequest.Builder();
builder.setdisplayName(username);
if (user !=null){
user.updateProfile(builder.build()).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (!task.isSuccessful()){
Toast.makeText(context,"Ocorreu um erro",Toast.LENGTH_LONG).show();
}
}
});
}
}
项目:LuxVilla
文件:firebaseutils.java
public static void updateusername(String username,final LinearLayout linearLayout){
FirebaseAuth auth=FirebaseAuth.getInstance();
FirebaseUser user=auth.getCurrentUser();
UserProfileChangeRequest.Builder builder = new UserProfileChangeRequest.Builder();
builder.setdisplayName(username);
if (user !=null){
user.updateProfile(builder.build()).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Snackbar.make(linearLayout,"Lamentamos mas ocorreu um erro",Snackbar.LENGTH_LONG).show();
}
});
}
}
项目:Quadro
文件:UserActivity.java
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data) {
super.onActivityResult(requestCode,resultCode,data);
if(requestCode == galLERY_INTENT && resultCode == RESULT_OK){
showProgressDialog();
Uri uri = data.getData();
StorageReference filePath = mStorage.child("user-photos").child(user.getUid()).child(uri.getLastPathSegment());
filePath.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
hideProgressDialog();
Uri downloadUri = taskSnapshot.getDownloadUrl();
imageUrl = downloadUri;
UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setPhotoUri(downloadUri)
.build();
user.updateProfile(profileUpdates)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(UserActivity.this,R.string.upload__success,Toast.LENGTH_SHORT).show();
}
}
});
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
hideProgressDialog();
Toast.makeText(UserActivity.this,R.string.upload_failure,Toast.LENGTH_SHORT).show();
}
});
}
}
项目:showcase-android
文件:RxFirebaseUser.java
/**
* Updates the user profile information.
*
* @param firebaseUser current firebaseUser instance.
* @param request {@link UserProfileChangeRequest} request for this user.
* @return a {@link Completable} if the task is complete successfully.
*/
@NonNull
public static Completable updateProfile(@NonNull final FirebaseUser firebaseUser,@NonNull final UserProfileChangeRequest request) {
return Completable.create(new CompletableOnSubscribe() {
@Override
public void subscribe(CompletableEmitter emitter) throws Exception {
RxCompletableHandler.assignOnTask(emitter,firebaseUser.updateProfile(request));
}
});
}
项目:RxFirebase
文件:RxFirebaseUser.java
@NonNull
public static Observable<Void> updateProfile(@NonNull final FirebaseUser firebaseUser,@NonNull final UserProfileChangeRequest request) {
return Observable.create(new Observable.OnSubscribe<Void>() {
@Override
public void call(final Subscriber<? super Void> subscriber) {
RxHandler.assignOnTask(subscriber,firebaseUser.updateProfile(request));
}
});
}
项目:delern
文件:FirebaseSignInRule.java
public String signIn(final String deviceLocalUserId) {
String email = idCompatibleString(deviceLocalUserId) + "@" +
idCompatibleString(FirebaseInstanceId.getInstance().getId()) +
".example.com";
FirebaseAuth.getInstance().signInWithEmailAndPassword(email,email)
.addOnFailureListener(error -> FirebaseAuth.getInstance()
// If we can't sign in,try creating account.
.createuserWithEmailAndPassword(email,email)
.addOnSuccessListener(authResult ->
authResult.getUser().updateProfile(
new UserProfileChangeRequest.Builder()
.setdisplayName(deviceLocalUserId)
.build())));
return email;
}
项目:FindMeAHome
文件:SignUpEmailFragment.java
private void onAuthSuccess(FirebaseUser user) {
UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setdisplayName(String.valueOf(name.getText()))
.build();
user.updateProfile(profileUpdates).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.d("TAG","User profile updated!");
}
}
});
sendVerificationEmail(getString(R.string.verificationEmail));
}
项目:HorseandRidersCompanion
文件:RegisterPresenter.java
/**
* Register User with Firebase and rename display nome to chosen name
*/
// Todo: 16/12/16 Need to send email confirmation if registering with email
void register(Context context,String email,String password,String riderName) {
checkViewAttached();
getMvpView().showProgress();
auth.createuserWithEmailAndPassword(email,password)
.addOnCompleteListener((Activity) context,task -> {
if (!task.isSuccessful()) {
//registration Failed
getMvpView().hideProgress();
BusProvider.getBusProviderInstance().post(new RegisterEvent(false,null));
Timber.e("Unsuccessfully Registered : " + task.getException().getMessage());
} else {
//registration Successful,change display name
FirebaseUser user = task.getResult().getUser();
UserProfileChangeRequest changeRequest = new UserProfileChangeRequest.Builder()
.setdisplayName(riderName)
.build();
auth.getCurrentUser().updateProfile(changeRequest).addOnCompleteListener(task1 -> {
if (task1.isSuccessful()) {
//this is needed for display name to show up in auth listener
user.reload();
auth.signOut();
auth.signInWithEmailAndPassword(email,password);
getMvpView().hideProgress();
} else {
Timber.d("Error Changing display Name");
}
});
}
});
}
项目:roboclub-amu
文件:AdminFragment.java
@OnClick(R.id.save_btn)
public void saveUser() {
FirebaseUser user = auth.getCurrentUser();
if(user == null)
return;
UserProfileChangeRequest.Builder userProfileChangeRequest = new UserProfileChangeRequest.Builder();
String userName = name.getText().toString();
if(!userName.equals(auth.getCurrentUser().getdisplayName())) {
userProfileChangeRequest.setdisplayName(userName);
}
int index = providersLayout.getCheckedRadioButtonId();
List<? extends UserInfo> providerData = user.getProviderData();
if(index >= 0 && index < providerData.size()) {
Uri uri = providerData.get(index).getPhotoUrl();
if(uri != null && !uri.equals(user.getPhotoUrl())) {
userProfileChangeRequest.setPhotoUri(uri);
}
}
progressBar.setVisibility(View.VISIBLE);
user.updateProfile(userProfileChangeRequest.build())
.addOnCompleteListener(task -> {
progressBar.setVisibility(View.INVISIBLE);
if (task.isSuccessful()) {
showSnackbar(R.string.profile_updated);
}
});
}
项目:react-native-firestack
文件:FirestackAuth.java
@ReactMethod
public void updateUserProfile(ReadableMap props,final Callback callback) {
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
UserProfileChangeRequest.Builder profileBuilder = new UserProfileChangeRequest.Builder();
Map<String,Object> m = FirestackUtils.recursivelyDeconstructreadableMap(props);
if (m.containsKey("displayName")) {
String displayName = (String) m.get("displayName");
profileBuilder.setdisplayName(displayName);
}
if (m.containsKey("photoUri")) {
String photoUriStr = (String) m.get("photoUri");
Uri uri = Uri.parse(photoUriStr);
profileBuilder.setPhotoUri(uri);
}
UserProfileChangeRequest profileUpdates = profileBuilder.build();
user.updateProfile(profileUpdates)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.d(TAG,"User profile updated");
FirebaseUser u = FirebaseAuth.getInstance().getCurrentUser();
userCallback(u,callback);
} else {
// userErrorCallback(task,callback);
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception ex) {
userExceptionCallback(ex,callback);
}
});
}
项目:Rx2Firebase
文件:RxFirebaseUser.java
/**
* Updates the user profile information.
*
* @param firebaseUser current firebaseUser instance.
* @param request {@link UserProfileChangeRequest} request for this user.
* @return a {@link Completable} if the task is complete successfully.
*/
@NonNull
public static Completable updateProfile(@NonNull final FirebaseUser firebaseUser,firebaseUser.updateProfile(request));
}
});
}
项目:rxfirebase
文件:RxFirebaseUser.java
/**
* @param user
* @param request
* @return
*/
@CheckReturnValue
@NonNull
public static Completable updateProfile(
@NonNull final FirebaseUser user,@NonNull final UserProfileChangeRequest request) {
return RxTask.completes(new Callable<Task<Void>>() {
@Override
public Task<Void> call() throws Exception {
return user.updateProfile(request);
}
});
}
项目:NITKart
文件:newUser.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_user);
username = (EditText) findViewById(R.id.usernameRegistration);
pass = (EditText) findViewById(R.id.passwordRegistration);
passverification = (EditText) findViewById(R.id.passwordRegistrationConfirmation);
firstname = (EditText) findViewById(R.id.firstName);
lastname = (EditText) findViewById(R.id.lastName);
setViews(true);
progressBar = (ProgressBar) findViewById(R.id.registrationPageProgressBar);
mAuth = FirebaseAuth.getInstance();
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
// User is signed in
Log.d(TAG,"onAuthStateChanged:signed_in:" + user.getUid());
String name = firstname.getText().toString() + " " + lastname.getText().toString();
UserProfileChangeRequest profileChangeRequest = new UserProfileChangeRequest.Builder().
setdisplayName(name).build();
user.updateProfile(profileChangeRequest);
DatabaseReference myRef = FirebaseDatabase.getInstance().getReference("users").child(user.getUid());
myRef.child(user.getUid()).push();
// As firebase does not accept keys with empty values,I'm putting a dummy item with empty Strings and -1 as ints
// Quantity of items in cart is not realtime database quantity but the quantity the user wants
ArrayList<ShoppingItem> cart = new ArrayList<>();
cart.add(new ShoppingItem(-1,"",-1,-1));
Map<String,Object> cartItems = new HashMap<>();
cartItems.put("cartItems",cart);
// Adding a isCartEmpty State Variable for cart window display
Map<String,Object> cartState = new HashMap<>();
cartState.put("isCartEmpty",Boolean.TRUE);
// Updating the database for the user
myRef.updateChildren(cartItems);
myRef.updateChildren(cartState);
sendVerificationEmail();
} else {
// User is signed out
Log.d(TAG,"onAuthStateChanged:signed_out");
}
}
};
mRegister = (Button) findViewById(R.id.registerButton);
mRegister.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
setViews(false);
email = username.getText().toString();
password = pass.getText().toString();
passwordVerification = passverification.getText().toString();
if (password.equals(passwordVerification) && !password.equals("") && !passwordVerification.equals("")) {
createAccount();
} else {
Snackbar.make(findViewById(R.id.newUserPage),"Passwords don't match",Snackbar.LENGTH_SHORT).show();
pass.setText("");
passverification.setText("");
setViews(true);
}
}
});
}
项目:RxFirebase2
文件:UserUpdateProfileOnSubscribe.java
UserUpdateProfileOnSubscribe(FirebaseUser user,UserProfileChangeRequest request) {
this.user = user;
this.request = request;
}
项目:RxFirebase2
文件:RxFirebaseUser.java
/**
* @see FirebaseUser#updateProfile(UserProfileChangeRequest)
*/
@CheckResult @NonNull public static Completable updateProfile(@NonNull FirebaseUser user,@NonNull UserProfileChangeRequest request) {
return Completable.create(new UserUpdateProfileOnSubscribe(user,request));
}
项目:firebaseui-Android
文件:EmailActivityTest.java
@Test
@Config(shadows = {AuthHelperShadow.class})
public void testSignUpButton_successfulRegistrationShouldContinuetoSaveCredentials() {
// init mocks
reset(AuthHelperShadow.getSaveSmartLockInstance(null));
TestHelper.initializeApp(RuntimeEnvironment.application);
EmailActivity emailActivity = createActivity();
// Trigger new user UI (bypassing check email)
emailActivity.onNewUser(
new User.Builder(EmailAuthProvider.PROVIDER_ID,TestConstants.EMAIL)
.setName(TestConstants.NAME)
.setPhotoUri(TestConstants.PHOTO_URI)
.build());
EditText email = emailActivity.findViewById(R.id.email);
EditText name = emailActivity.findViewById(R.id.name);
EditText password = emailActivity.findViewById(R.id.password);
email.setText(TestConstants.EMAIL);
name.setText(TestConstants.NAME);
password.setText(TestConstants.PASSWORD);
when(AuthHelperShadow.getFirebaseAuth()
.createuserWithEmailAndPassword(TestConstants.EMAIL,TestConstants.PASSWORD))
.thenReturn(new AutoCompleteTask<>(FakeAuthResult.INSTANCE,true,null));
when(AuthHelperShadow.getCurrentUser().updateProfile(any(UserProfileChangeRequest.class)))
.thenReturn(new AutoCompleteTask<Void>(null,null));
Button button = emailActivity.findViewById(R.id.button_create);
button.performClick();
// Verify create user request
verify(AuthHelperShadow.getFirebaseAuth())
.createuserWithEmailAndPassword(TestConstants.EMAIL,TestConstants.PASSWORD);
// Finally,the new credential should be saved to SmartLock
TestHelper.verifySmartLockSave(
EmailAuthProvider.PROVIDER_ID,TestConstants.EMAIL,TestConstants.PASSWORD);
}

CRM User Status profile 中 Business Transaction 字段的用途
有朋友问到 User Status profile 中 Business Transaction 字段的用途,如下图 INPR, FINI 所示。
实际上,这个字段作为一个桥梁,连接了 User Status 和 System Status。

以上图的 INPR 为例,其 User Status code 为 PROC - 处理中。到 TJ30 查表可得其 User Status 为 E0002。

使用事务码 BS33,找到 INPR,选择 Follow-up actions:

得到 Business Transaction INPR 的如下 follow-up actions 列表。下图意思是,一旦用户在 UI 上选择了 In Process 这个 User Status(E0002 ),那么这个订单的 System Status 会被置为 I1003,因为下图 I1003 对应的 Set 列被置位,而 Delete 处于非置位状态。

这也就是为什么到表 CRM_JEST 里,对于同一条订单,能发现其拥有 1 个 System Status I1003 和 User Status E0002 的原因。

要获取更多 Jerry 的原创技术文章,请关注公众号 "汪子熙" 或者扫描下面二维码:


今天关于和Django无法分配“ u'1'”:“ StaffProfile.user”必须是“ User”实例的讲解已经结束,谢谢您的阅读,如果想了解更多关于/ profiles / user-profile / UserProfile上的DidsNotExist不存在匹配查询、/createPost 处的 ValueError 无法分配“的相关知识,请在本站搜索。
本文标签:
如何解决/createPost 处的 ValueError 无法分配“<SimpleLazyObject:<django.contrib.auth.models.AnonymousUser?
大家好,我正在尝试使用 Django 发布图像文件。我不知道发生了什么,我在尝试修复一个错误时遇到了另一个错误,所以请查看代码,我在 /createPost 遇到了 ValueError
无法分配 "
视图.py
from django.shortcuts import render,redirect
from django.http import HttpResponse
from .models import Post
from .forms import PostForm
# Create your views here.
def index(request):
post = Post.objects.order_by("-pub_date")
context = {
"posts": post
}
return render(request,"index.html",context)
def post_create(request):
form = PostForm(request.POST,request.FILES or None)
if form.is_valid():
title = form.cleaned_data["title"]
content = form.cleaned_data["content"]
img = form.cleaned_data["img"]
username = request.user
post = Post.objects.create(title = title,content = content,img = img,author = username)
post.save
return redirect("posts:home")
else:
form = PostForm()
context = {
"form": form
}
return render(request,"postcreate.html",context)
模型.py
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
# Create your models here.
class Post(models.Model):
title = models.CharField(max_length = 200)
content = models.TextField(null = True,blank = True)
img = models.ImageField(upload_to = "static/my_post_pic",null = True,blank = True)
pub_date = models.DateTimeField(default = timezone.Now)
author = models.ForeignKey(User,on_delete = models.CASCADE)
def __str__(self):
return f"{self.title} // {self.author}"
Forms.py
from django import forms
from .models import Post
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = (''title'',"content","img")
urls.py
from django.urls import path
from . import views
app_name = "posts"
urlpatterns = [
path("",views.index,name = "home"),path("createPost",views.post_create,name = "createPost")
]
postCreate.html
{% extends ''base.html'' %}
{% block content %}
<form method="POST">
{% csrf_token %}
<div>
<label for="inputEmail3">Title</label>
<div>
<input type="text" name = "title"id="inputEmail3" placeholder="Title">
</div>
</div>
<div>
<label for="inputPassword3">Content</label>
<div>
<input type="text" name = "content"id="inputPassword3" placeholder="Content">
</div>
</div>
<div>
<label for="exampleFormControlFile1">Image</label>
<input type="file" name = "img"id="exampleFormControlFile1">
</div>
<div>
<div>
<button type="submit">Post</button>
</div>
</div>
</form>
{% endblock content %}
解决方法
您的用户未登录,因此出现错误。在这种情况下,您可以使用 @login_required
decorator [Django-doc] 重定向到登录页面:
from django.contrib.auth.decorators import login_required
@login_required
def post_create(request):
# …
com.google.firebase.auth.UserProfileChangeRequest的实例源码
private void createuserProfile(String name,String uid,String email) { FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference(); User user = new User(uid,name,email); myRef.child("users").child(uid).setValue(user); FirebaseUser currentUser = mAuth.getCurrentUser(); UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder() .setdisplayName(name).build(); currentUser.updateProfile(profileUpdates) .addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if(task.isSuccessful()) { Log.d(TAG,"User display_name added"); } } } ); }
public void AddUserInfoRequest(String name,String url,final AccountDetailsInteractor.OnAccountDetailsListener listener){ Uri picUri = Uri.parse(url); UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder() .setdisplayName(name) .setPhotoUri(picUri) .build(); user.updateProfile(profileUpdates) .addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if (task.isSuccessful()) { listener.onUserInfoUpdateSuccess(); } } }); }
public void AddUserInfoRequest(String name,final OnSettingsFinishedListener listener){ Uri picUri = Uri.parse(url); UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder() .setdisplayName(name) .setPhotoUri(picUri) .build(); user.updateProfile(profileUpdates) .addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if (task.isSuccessful()) { listener.onUserInfoUpdateSuccess(); } } }); }
@OnClick(R.id.editProfileButton) public void editProfileClick() { String name = nameEditText.getText().toString(); if(!name.isEmpty()) { UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder() .setdisplayName(name) .build(); CheckLoginActivity.user.updateProfile(profileUpdates) .addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if (task.isSuccessful()) { Toast.makeText(getBaseContext(),R.string.edit_profile_changed,Toast.LENGTH_SHORT).show(); finish(); } } }); } else { nameEditText.setError(getString(R.string.profile_name_edit_error)); } }
private void updateProfile() { // [START update_profile] FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder() .setdisplayName("Jane Q. User") .setPhotoUri(Uri.parse("https://example.com/jane-q-user/profile.jpg")) .build(); user.updateProfile(profileUpdates) .addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if (task.isSuccessful()) { Log.d(TAG,"User profile updated."); } } }); // [END update_profile] }
private void signUp() { if (hasAccepted) { showingSignUp = false; firebaseAuth.createuserWithEmailAndPassword(email,password) .addOnCompleteListener(this,new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (!task.isSuccessful()) { if (task.getException() != null) Toast.makeText(LoginActivity.this,task.getException().getMessage(),Toast.LENGTH_SHORT).show(); } else { UserProfileChangeRequest profileChangeRequest = new UserProfileChangeRequest.Builder() .setdisplayName(name) .build(); user = firebaseAuth.getCurrentUser(); Userinformation userinformation = new Userinformation(name,name.toLowerCase()); if (user != null) { user.updateProfile(profileChangeRequest); String userId = user.getUid(); ref.child("users").child(userId).setValue(userinformation); } setLoginView(); } } }); } else { ((CheckBox) findViewById(R.id.agree_check)).setError(getString(R.string.error_field_required)); } }
@Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,String s) { if (s.equals("mobile_network")) { boolean mobileNetwork = sharedPreferences.getBoolean("mobile_network",true); Intent trackingService = new Intent(this,TrackingService.class); if (mobileNetwork) { startService(trackingService); } else if (Connectivity.isConnectedMobile(this)){ stopService(trackingService); } } else if (s.equals("display_name")) { String name = sharedPreferences.getString(s,"DEFAULT"); databaseReference.child("users").child(userId).child("name").setValue(name); databaseReference.child("users").child(userId).child("caseFoldedname").setValue(name.toLowerCase()); UserProfileChangeRequest profileChangeRequest = new UserProfileChangeRequest.Builder().setdisplayName(name).build(); firebaseUser.updateProfile(profileChangeRequest).addOnSuccessListener(new OnSuccessListener<Void>() { @Override public void onSuccess(Void aVoid) { setdisplayName(); } }); } }
private void updateProfile(@Nullable String nickname,@Nullable Uri uri) { UserProfileChangeRequest profileUpdates = null; if (nickname != null) { profileUpdates = new UserProfileChangeRequest.Builder().setdisplayName(nickname).build(); } if (uri != null) { profileUpdates = new UserProfileChangeRequest.Builder().setPhotoUri(uri).build(); if (BuildConfig.DEBUG) { Log.d(TAG,"updateProfile Photo uri: " + profileUpdates.getPhotoUri().toString()); } } if (profileUpdates != null) { user.updateProfile(profileUpdates).addOnCompleteListener(task -> { if (task.isSuccessful()) { if (BuildConfig.DEBUG) { Log.d(TAG,"updateProfile: User profile updated."); } if (mUser != null) { BusEventUtils.post(Constants.BUS_FLAG_UPDATE_USER,null); UserUtils.updateUser(user.getUid(),mUser); } } }); } }
public static void setuserfirstdata(final Context context,String username){ FirebaseAuth auth=FirebaseAuth.getInstance(); FirebaseUser user = auth.getCurrentUser(); UserProfileChangeRequest.Builder builder = new UserProfileChangeRequest.Builder(); builder.setdisplayName(username); if (user !=null){ user.updateProfile(builder.build()).addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if (!task.isSuccessful()){ Toast.makeText(context,"Ocorreu um erro",Toast.LENGTH_LONG).show(); } } }); } }
public static void updateusername(String username,final LinearLayout linearLayout){ FirebaseAuth auth=FirebaseAuth.getInstance(); FirebaseUser user=auth.getCurrentUser(); UserProfileChangeRequest.Builder builder = new UserProfileChangeRequest.Builder(); builder.setdisplayName(username); if (user !=null){ user.updateProfile(builder.build()).addOnSuccessListener(new OnSuccessListener<Void>() { @Override public void onSuccess(Void aVoid) { } }).addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { Snackbar.make(linearLayout,"Lamentamos mas ocorreu um erro",Snackbar.LENGTH_LONG).show(); } }); } }
@Override protected void onActivityResult(int requestCode,int resultCode,Intent data) { super.onActivityResult(requestCode,resultCode,data); if(requestCode == galLERY_INTENT && resultCode == RESULT_OK){ showProgressDialog(); Uri uri = data.getData(); StorageReference filePath = mStorage.child("user-photos").child(user.getUid()).child(uri.getLastPathSegment()); filePath.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { @Override public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { hideProgressDialog(); Uri downloadUri = taskSnapshot.getDownloadUrl(); imageUrl = downloadUri; UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder() .setPhotoUri(downloadUri) .build(); user.updateProfile(profileUpdates) .addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if (task.isSuccessful()) { Toast.makeText(UserActivity.this,R.string.upload__success,Toast.LENGTH_SHORT).show(); } } }); } }).addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { hideProgressDialog(); Toast.makeText(UserActivity.this,R.string.upload_failure,Toast.LENGTH_SHORT).show(); } }); } }
/** * Updates the user profile information. * * @param firebaseUser current firebaseUser instance. * @param request {@link UserProfileChangeRequest} request for this user. * @return a {@link Completable} if the task is complete successfully. */ @NonNull public static Completable updateProfile(@NonNull final FirebaseUser firebaseUser,@NonNull final UserProfileChangeRequest request) { return Completable.create(new CompletableOnSubscribe() { @Override public void subscribe(CompletableEmitter emitter) throws Exception { RxCompletableHandler.assignOnTask(emitter,firebaseUser.updateProfile(request)); } }); }
@NonNull public static Observable<Void> updateProfile(@NonNull final FirebaseUser firebaseUser,@NonNull final UserProfileChangeRequest request) { return Observable.create(new Observable.OnSubscribe<Void>() { @Override public void call(final Subscriber<? super Void> subscriber) { RxHandler.assignOnTask(subscriber,firebaseUser.updateProfile(request)); } }); }
public String signIn(final String deviceLocalUserId) { String email = idCompatibleString(deviceLocalUserId) + "@" + idCompatibleString(FirebaseInstanceId.getInstance().getId()) + ".example.com"; FirebaseAuth.getInstance().signInWithEmailAndPassword(email,email) .addOnFailureListener(error -> FirebaseAuth.getInstance() // If we can't sign in,try creating account. .createuserWithEmailAndPassword(email,email) .addOnSuccessListener(authResult -> authResult.getUser().updateProfile( new UserProfileChangeRequest.Builder() .setdisplayName(deviceLocalUserId) .build()))); return email; }
private void onAuthSuccess(FirebaseUser user) { UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder() .setdisplayName(String.valueOf(name.getText())) .build(); user.updateProfile(profileUpdates).addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if (task.isSuccessful()) { Log.d("TAG","User profile updated!"); } } }); sendVerificationEmail(getString(R.string.verificationEmail)); }
/** * Register User with Firebase and rename display nome to chosen name */ // Todo: 16/12/16 Need to send email confirmation if registering with email void register(Context context,String email,String password,String riderName) { checkViewAttached(); getMvpView().showProgress(); auth.createuserWithEmailAndPassword(email,password) .addOnCompleteListener((Activity) context,task -> { if (!task.isSuccessful()) { //registration Failed getMvpView().hideProgress(); BusProvider.getBusProviderInstance().post(new RegisterEvent(false,null)); Timber.e("Unsuccessfully Registered : " + task.getException().getMessage()); } else { //registration Successful,change display name FirebaseUser user = task.getResult().getUser(); UserProfileChangeRequest changeRequest = new UserProfileChangeRequest.Builder() .setdisplayName(riderName) .build(); auth.getCurrentUser().updateProfile(changeRequest).addOnCompleteListener(task1 -> { if (task1.isSuccessful()) { //this is needed for display name to show up in auth listener user.reload(); auth.signOut(); auth.signInWithEmailAndPassword(email,password); getMvpView().hideProgress(); } else { Timber.d("Error Changing display Name"); } }); } }); }
@OnClick(R.id.save_btn) public void saveUser() { FirebaseUser user = auth.getCurrentUser(); if(user == null) return; UserProfileChangeRequest.Builder userProfileChangeRequest = new UserProfileChangeRequest.Builder(); String userName = name.getText().toString(); if(!userName.equals(auth.getCurrentUser().getdisplayName())) { userProfileChangeRequest.setdisplayName(userName); } int index = providersLayout.getCheckedRadioButtonId(); List<? extends UserInfo> providerData = user.getProviderData(); if(index >= 0 && index < providerData.size()) { Uri uri = providerData.get(index).getPhotoUrl(); if(uri != null && !uri.equals(user.getPhotoUrl())) { userProfileChangeRequest.setPhotoUri(uri); } } progressBar.setVisibility(View.VISIBLE); user.updateProfile(userProfileChangeRequest.build()) .addOnCompleteListener(task -> { progressBar.setVisibility(View.INVISIBLE); if (task.isSuccessful()) { showSnackbar(R.string.profile_updated); } }); }
@ReactMethod public void updateUserProfile(ReadableMap props,final Callback callback) { FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); UserProfileChangeRequest.Builder profileBuilder = new UserProfileChangeRequest.Builder(); Map<String,Object> m = FirestackUtils.recursivelyDeconstructreadableMap(props); if (m.containsKey("displayName")) { String displayName = (String) m.get("displayName"); profileBuilder.setdisplayName(displayName); } if (m.containsKey("photoUri")) { String photoUriStr = (String) m.get("photoUri"); Uri uri = Uri.parse(photoUriStr); profileBuilder.setPhotoUri(uri); } UserProfileChangeRequest profileUpdates = profileBuilder.build(); user.updateProfile(profileUpdates) .addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if (task.isSuccessful()) { Log.d(TAG,"User profile updated"); FirebaseUser u = FirebaseAuth.getInstance().getCurrentUser(); userCallback(u,callback); } else { // userErrorCallback(task,callback); } } }).addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception ex) { userExceptionCallback(ex,callback); } }); }
/** * Updates the user profile information. * * @param firebaseUser current firebaseUser instance. * @param request {@link UserProfileChangeRequest} request for this user. * @return a {@link Completable} if the task is complete successfully. */ @NonNull public static Completable updateProfile(@NonNull final FirebaseUser firebaseUser,firebaseUser.updateProfile(request)); } }); }
/** * @param user * @param request * @return */ @CheckReturnValue @NonNull public static Completable updateProfile( @NonNull final FirebaseUser user,@NonNull final UserProfileChangeRequest request) { return RxTask.completes(new Callable<Task<Void>>() { @Override public Task<Void> call() throws Exception { return user.updateProfile(request); } }); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_new_user); username = (EditText) findViewById(R.id.usernameRegistration); pass = (EditText) findViewById(R.id.passwordRegistration); passverification = (EditText) findViewById(R.id.passwordRegistrationConfirmation); firstname = (EditText) findViewById(R.id.firstName); lastname = (EditText) findViewById(R.id.lastName); setViews(true); progressBar = (ProgressBar) findViewById(R.id.registrationPageProgressBar); mAuth = FirebaseAuth.getInstance(); mAuthListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser user = firebaseAuth.getCurrentUser(); if (user != null) { // User is signed in Log.d(TAG,"onAuthStateChanged:signed_in:" + user.getUid()); String name = firstname.getText().toString() + " " + lastname.getText().toString(); UserProfileChangeRequest profileChangeRequest = new UserProfileChangeRequest.Builder(). setdisplayName(name).build(); user.updateProfile(profileChangeRequest); DatabaseReference myRef = FirebaseDatabase.getInstance().getReference("users").child(user.getUid()); myRef.child(user.getUid()).push(); // As firebase does not accept keys with empty values,I'm putting a dummy item with empty Strings and -1 as ints // Quantity of items in cart is not realtime database quantity but the quantity the user wants ArrayList<ShoppingItem> cart = new ArrayList<>(); cart.add(new ShoppingItem(-1,"",-1,-1)); Map<String,Object> cartItems = new HashMap<>(); cartItems.put("cartItems",cart); // Adding a isCartEmpty State Variable for cart window display Map<String,Object> cartState = new HashMap<>(); cartState.put("isCartEmpty",Boolean.TRUE); // Updating the database for the user myRef.updateChildren(cartItems); myRef.updateChildren(cartState); sendVerificationEmail(); } else { // User is signed out Log.d(TAG,"onAuthStateChanged:signed_out"); } } }; mRegister = (Button) findViewById(R.id.registerButton); mRegister.setonClickListener(new View.OnClickListener() { @Override public void onClick(View view) { setViews(false); email = username.getText().toString(); password = pass.getText().toString(); passwordVerification = passverification.getText().toString(); if (password.equals(passwordVerification) && !password.equals("") && !passwordVerification.equals("")) { createAccount(); } else { Snackbar.make(findViewById(R.id.newUserPage),"Passwords don't match",Snackbar.LENGTH_SHORT).show(); pass.setText(""); passverification.setText(""); setViews(true); } } }); }
UserUpdateProfileOnSubscribe(FirebaseUser user,UserProfileChangeRequest request) { this.user = user; this.request = request; }
/** * @see FirebaseUser#updateProfile(UserProfileChangeRequest) */ @CheckResult @NonNull public static Completable updateProfile(@NonNull FirebaseUser user,@NonNull UserProfileChangeRequest request) { return Completable.create(new UserUpdateProfileOnSubscribe(user,request)); }
@Test @Config(shadows = {AuthHelperShadow.class}) public void testSignUpButton_successfulRegistrationShouldContinuetoSaveCredentials() { // init mocks reset(AuthHelperShadow.getSaveSmartLockInstance(null)); TestHelper.initializeApp(RuntimeEnvironment.application); EmailActivity emailActivity = createActivity(); // Trigger new user UI (bypassing check email) emailActivity.onNewUser( new User.Builder(EmailAuthProvider.PROVIDER_ID,TestConstants.EMAIL) .setName(TestConstants.NAME) .setPhotoUri(TestConstants.PHOTO_URI) .build()); EditText email = emailActivity.findViewById(R.id.email); EditText name = emailActivity.findViewById(R.id.name); EditText password = emailActivity.findViewById(R.id.password); email.setText(TestConstants.EMAIL); name.setText(TestConstants.NAME); password.setText(TestConstants.PASSWORD); when(AuthHelperShadow.getFirebaseAuth() .createuserWithEmailAndPassword(TestConstants.EMAIL,TestConstants.PASSWORD)) .thenReturn(new AutoCompleteTask<>(FakeAuthResult.INSTANCE,true,null)); when(AuthHelperShadow.getCurrentUser().updateProfile(any(UserProfileChangeRequest.class))) .thenReturn(new AutoCompleteTask<Void>(null,null)); Button button = emailActivity.findViewById(R.id.button_create); button.performClick(); // Verify create user request verify(AuthHelperShadow.getFirebaseAuth()) .createuserWithEmailAndPassword(TestConstants.EMAIL,TestConstants.PASSWORD); // Finally,the new credential should be saved to SmartLock TestHelper.verifySmartLockSave( EmailAuthProvider.PROVIDER_ID,TestConstants.EMAIL,TestConstants.PASSWORD); }
CRM User Status profile 中 Business Transaction 字段的用途
有朋友问到 User Status profile 中 Business Transaction 字段的用途,如下图 INPR, FINI 所示。
实际上,这个字段作为一个桥梁,连接了 User Status 和 System Status。
以上图的 INPR 为例,其 User Status code 为 PROC - 处理中。到 TJ30 查表可得其 User Status 为 E0002。
使用事务码 BS33,找到 INPR,选择 Follow-up actions:
得到 Business Transaction INPR 的如下 follow-up actions 列表。下图意思是,一旦用户在 UI 上选择了 In Process 这个 User Status(E0002 ),那么这个订单的 System Status 会被置为 I1003,因为下图 I1003 对应的 Set 列被置位,而 Delete 处于非置位状态。
这也就是为什么到表 CRM_JEST 里,对于同一条订单,能发现其拥有 1 个 System Status I1003 和 User Status E0002 的原因。
要获取更多 Jerry 的原创技术文章,请关注公众号 "汪子熙" 或者扫描下面二维码:
今天关于和Django无法分配“ u'1'”:“ StaffProfile.user”必须是“ User”实例的讲解已经结束,谢谢您的阅读,如果想了解更多关于/ profiles / user-profile / UserProfile上的DidsNotExist不存在匹配查询、/createPost 处的 ValueError 无法分配“
本文标签: