الحصول على آخر مستخدم تم إنشاؤه لربط ملف تعريف المستخدم في Django

StackOverflow https://stackoverflow.com/questions/3671845

سؤال

لقد ضربت قليلاً من الجدار عند محاولة إضافة بيانات إلى نموذج مستخدم تم إنشاؤه لعقد معلومات المستخدم بما يتجاوز ما يتم تقديمه في مكون Django المدمج في Auth.

سؤالي هو كيف يمكنني الحصول على مثيل للمستخدم فقط من أجل إنشاء المستخدم؟ اعتقدت أنه سيكون شيئًا ما أدناه:

# Registration form validation etc. is complete
cd = form.cleaned_data
user = User.objects.create_user(username=cd['username'], password=cd['password'])
new_user = user.save() # hoping this returns an instance of the user?
activation_key = some_random_generator()
new_profile = UserProfile(user=new_user, token=activation_key)
new_profile.save()

... لكن New_User يعود لأن لا شيء ، وأنا أحدد أنه يجب أن تكون هناك طريقة سهلة للوصول إلى المستخدم مسجلًا فقط بدلاً من إعادة استجواب قاعدة البيانات بناءً على اسم المستخدم/كلمة المرور؟

آمل أن يكون هذا واضحًا بما فيه الكفاية ، شكرًا على أي مساعدة/إرشادات.

هل كانت مفيدة؟

المحلول

حل مشكلتي الخاصة. بعد يوم بطيء تعلم Python/Django.

عند استدعاء user.save () ، يتم تحديث كائن المستخدم بمعلومات جديدة بعد إدخال قاعدة البيانات - أي المستخدم الذي تم إنشاؤه حديثًا. لذلك يمكن بالفعل تمرير كائن المستخدم نفسه إلى userprofile ().

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top