Django এর কাস্টম ইউজার মডেল ব্যবহার করে (Django1.6)

আমি একটি জাংগো অ্যাপ্লিকেশন আছে যা একটি অতিরিক্ত ক্ষেত্র প্রয়োজন (একটি বুক ক্লাসে একটি multipletomany মানচিত্র) এবং আমি যে AbstractUser প্রসারিত দ্বারা যে কি।

আপনি যদি ডিঙ্গো ব্যবহারকারীর মডেলের সাথে সম্পূর্ণভাবে সুখী হন এবং আপনি কিছু অতিরিক্ত প্রোফাইল তথ্য যোগ করতে চান তবে আপনি কেবল django.contrib.auth.models.AbstractUser subclass করতে পারেন এবং আপনার কাস্টম প্রোফাইল ক্ষেত্র যোগ করতে পারেন। এই শ্রেণী ডিফল্ট ব্যবহারকারীকে একটি বিমূর্ত মডেল হিসাবে পূর্ণরূপে বাস্তবায়ন করে।

class User(AbstractUser):
    entitledBooks = models.ManyToManyField(Book)

I added the model in my settings.py

AUTH_USER_MODEL = 'BookRServer.User'

কিন্তু কিভাবে আমি একটি ব্যবহারকারী (প্রোগ্রামালিক) তৈরি করব?

ব্যবহারকারী = User.objects.create_user() কাজ করে না।

0
"কাজ করে না" এর অর্থ কি? স্ট্যাক ট্রেস, দয়া করে? এছাড়াও, আপনি আপনার মডেল থেকে ব্যবহারকারীর আমদানি করছেন? আমি মনে করি ডিজিঙ্গো ব্যবহার করার উপায় হল ইউজার = get_user_model() এর পরিবর্তে।
যোগ লেখক Kimvais, উৎস
আর্গা .. আমি আরো স্পষ্ট হয়ে উঠতে হবে। আমি একটি ব্যবহারকারী "তৈরি" করতে পারি, কিন্তু আমি "অবচিত বুকগুলি" তে "বই" যোগ করতে পারি না। এটি বলছে "অবজেক্ট ব্যবহারকারীর কোনো স্বত্ব লিপিবদ্ধ লিপিবদ্ধ নেই" আমি কেবল অনুমান করতে পারি এটি মূল ব্যবহারকারী তৈরি করছে এবং আমার কাস্টম ব্যবহারকারীর নয়।
যোগ লেখক user1349663, উৎস

2 উত্তর

সহজে সম্ভব, একত্রে একত্রিত করার উপায় হল এক-টু-এক সম্পর্ক ব্যবহারকারী প্রোফাইল মডেল যা আপনার বহু-থেকে-অনেক সম্পর্ক তৈরি করে।

class UserProfile(models.Model):
    user = model.OneToOneField(User)
    # your many-to-many field here


# create user
u = User(username="", password="", email="", ...)
u.save()
u.userprofile(your fields..here)
u.userprofile.save()

এই সব ডিজঙ্গো সংস্করণের মধ্যে সাধারণত একই। মূলত django 1.6 অপ্রচলিত একটি মডেল পদ্ধতি <�কোড> get_profile এবং কিছু প্রাসঙ্গিক সেটিংস প্রদান করা হয় ..

যদি আপনি প্রকৃতপক্ষে প্রয়োজনীয়তা অনুযায়ী স্থল থেকে ব্যবহারকারী মডেল তৈরি করতে চান তবে আপনাকে অবশ্যই AUTH_USER_MODEL ব্যবহার করতে হবে না ..

ইউজার মডেল থেকে ইউজার প্রোফাইল আটকানো এছাড়াও দীর্ঘ রান সাহায্য করে

0
যোগ
আহ। আমাকে AUTH_USER_MODEL সম্পর্কে জানার জন্য ধন্যবাদ কিন্তু যেহেতু AbstractUser দেওয়া হয়, আমি এটি ব্যবহার করতে কিভাবে জানতে চাই।
যোগ লেখক user1349663, উৎস
হ্যাঁ, আমি বুঝলাম যে। কিন্তু এখন যে আমি অ্যাবসটব্যাশ ইউসার ব্যবহার করছি না, কিন্তু এবিসট্রিক্স, আমি স্ক্র্যাচ থেকে তৈরি করতে হবে না। এবং এখনও, স্বাভাবিক পদ্ধতিতে ব্যবহারকারীর সৃষ্টিকর্তা আমার নিজস্ব এক পরিবর্তে ডিফল্ট ব্যবহারকারী তৈরি করে।
যোগ লেখক user1349663, উৎস
django ডক্স পড়ুন, যে ভাল ব্যাখ্যা আছে।
যোগ লেখক Surya, উৎস
AUTH_USER_MODEL ব্যবহার করে আপনি আপনার নিজের সমস্ত জিনিসকে স্ক্র্যাচ থেকে এবং অন্যান্য কিছুই তৈরি করছেন বলে অনুমান করেন। এইসব ক্লাসগুলি কিছুটা নিরাপদ করার ব্যবস্থা রাখে .. আপনি যখন থেকে ভবন নির্মাণ করছেন আঁচড়ের দাগ
যোগ লেখক Surya, উৎস

Create_user ব্যবস্থাপক পদ্ধতি শুধুমাত্র তিনটি আর্গুমেন্ট, ব্যবহারকারী নাম, ইমেল (ঐচ্ছিক), এবং পাসওয়ার্ড গ্রহণ করে (ঐচ্ছিক)।

আপনি এটা করতে পারেন:

bookset=Book.objects.all()
user = User.objects.create_user('testuser',email='[email protected]')
user.entitledBooks=bookset
user.save()
0
যোগ
আমি ব্যবহারকারী ব্যবহার করেছি। নিখরচায়। সংযুক্ত, কিন্তু হ্যাঁ, আমি ব্যবহারকারীর বস্তু তৈরি করতে হবে এবং তারপর এটি অতিরিক্ত ক্ষেত্র যোগ করুন তাই আমি এই উত্তর গ্রহণ করব।
যোগ লেখক user1349663, উৎস