انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: کاربر شخصی‌سازی شده در جنگو (حل شد)  (دفعات بازدید: 653 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین 🇮🇷

  • رضا حسین‌زاده
  • High Hero Member
  • *
  • ارسال: 1001
  • کنجکاو
    • Reza
سلام
میخوام یه مدل شخصی‌سازی شده کاربر در یه پروژه جنگو بسازم. هر جایی که دیدم میگن باید قبل از اولین migration پروژه این کار انجام بشه. پروژه من جدید نیست. آیا راهی داره که وسط پروژه مدل کاربر جنگو رو شخصی‌سازی کرد؟
« آخرین ویرایش: 27 تیر 1401، 07:21 ب‌ظ توسط 🇮🇷 »
جست و جو کنید و چیز های جدید بیابید

آفلاین sameet

  • Hero Member
  • *
  • ارسال: 901
  • جنسیت : پسر
  • وبمستری به سبک سامیت
پاسخ : کاربر شخصی‌سازی شده در جنگو
« پاسخ #1 : 26 تیر 1401، 09:39 ب‌ظ »
درود !
منظورت از کاربر شخصی سازی شده دقیقا چی هست ؟
« آخرین ویرایش: 27 تیر 1401، 12:06 ب‌ظ توسط sameet »
وبمستری به سبک سامیت

آفلاین M!lad

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1757
پاسخ : کاربر شخصی‌سازی شده در جنگو
« پاسخ #2 : 26 تیر 1401، 09:50 ب‌ظ »
من یک بار قبلا وسط پروژه اینکار رو کردم. سخته کمی. باید جاهای مختلف که از کلاس کاربر به شکل غیر استاندارد استفاده شده تغییر اعمال کنید. شاید اگر کمی بیشتر توضیح بدید چه کار می‌خواید انجام بدید بشه راهکار دیگه‌ای داد. برای مثال اضافه کردن یه جدول Profile عموما می‌تونه تو این جور مواقع کمک کنه.
..I feel no fault for the fault I feel..

آفلاین 🇮🇷

  • رضا حسین‌زاده
  • High Hero Member
  • *
  • ارسال: 1001
  • کنجکاو
    • Reza
پاسخ : کاربر شخصی‌سازی شده در جنگو
« پاسخ #3 : 26 تیر 1401، 11:49 ب‌ظ »
من یک بار قبلا وسط پروژه اینکار رو کردم. سخته کمی. باید جاهای مختلف که از کلاس کاربر به شکل غیر استاندارد استفاده شده تغییر اعمال کنید. شاید اگر کمی بیشتر توضیح بدید چه کار می‌خواید انجام بدید بشه راهکار دیگه‌ای داد.
میخوام کاربر، همون کاربر جنگو باشه فقط یه ویژگی بیشتر داشته باشه.
برای مثال اضافه کردن یه جدول Profile عموما می‌تونه تو این جور مواقع کمک کنه.
میشه بیشتر توضیح بدید؟
جست و جو کنید و چیز های جدید بیابید

آفلاین M!lad

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1757
پاسخ : کاربر شخصی‌سازی شده در جنگو
« پاسخ #4 : 27 تیر 1401، 12:56 ق‌ظ »
در ابتدا یک نکته اینکه: داکیومنت جنگو پیشنهاد می‌کنه همیشه در ابتدای یک پروژه حتی اگر کلاس کاربر کار شما رو راه می‌اندازه اون رو extend کنید تا در آینده اگر تغییر این چنینی لازم شد بدون مشکل بتونید اون رو اعمال کنید.

برای حل این مسئله می‌تونید یک کلاس پروفایل در نظر بگیرید با ویژگی‌های مورد نظر و یک ارتباط یک به یک با کلاس کاربر بینشون ایجاد کنید. برای مثال اینجا رو ببنید:

https://stackoverflow.com/a/37348787/14017072
..I feel no fault for the fault I feel..

آفلاین sameet

  • Hero Member
  • *
  • ارسال: 901
  • جنسیت : پسر
  • وبمستری به سبک سامیت
پاسخ : کاربر شخصی‌سازی شده در جنگو
« پاسخ #5 : 27 تیر 1401، 12:24 ب‌ظ »
نقل‌قول
میخوام کاربر، همون کاربر جنگو باشه فقط یه ویژگی بیشتر داشته باشه.

https://stackoverflow.com/a/6092091https://stackoverflow.com/a/34427137https://stackoverflow.com/a/34427137
وبمستری به سبک سامیت

آفلاین 🇮🇷

  • رضا حسین‌زاده
  • High Hero Member
  • *
  • ارسال: 1001
  • کنجکاو
    • Reza
پاسخ : کاربر شخصی‌سازی شده در جنگو
« پاسخ #6 : 27 تیر 1401، 01:54 ب‌ظ »
ممنون از جماب میلاد و سامیت. نگاه میکنم اگر مشکلی بود اطلاع میدم ان شاء الله
« آخرین ویرایش: 27 تیر 1401، 02:50 ب‌ظ توسط 🇮🇷 »
جست و جو کنید و چیز های جدید بیابید

آفلاین 🇮🇷

  • رضا حسین‌زاده
  • High Hero Member
  • *
  • ارسال: 1001
  • کنجکاو
    • Reza
پاسخ : کاربر شخصی‌سازی شده در جنگو
« پاسخ #7 : 27 تیر 1401، 04:37 ب‌ظ »
یه سوال. الآن من مدل Profile رو در اپ users که برای مدیریت کاربرها هست ساختم. این دو خط اول مدل هست:
user = OneToOneField(User, on_delete=models.CASCADE)
ticket = 10
الآن باید چیکار کنم که وقتی یه کاربر ساخته میشه، وقتی به user.profile.ticket کاربر جدید یا کاربرهای قدیمی مراجعه کنم ۱۰ رو ببینم؟ یعنی چطور به این ۱۰ دسترسی داشته باشم؟ به محتوای ذیل که در شل جنگو اتفاق افتادن نگاه کنید:
>>> user = User.objects.get(username="reza")
>>> user.profile
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/reza/.local/lib/python3.10/site-packages/django/db/models/fields/related_descriptors.py", line 461, in __get__
    raise self.RelatedObjectDoesNotExist(
django.contrib.auth.models.User.profile.RelatedObjectDoesNotExist: User has no profile.
جست و جو کنید و چیز های جدید بیابید

آفلاین M!lad

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1757
پاسخ : کاربر شخصی‌سازی شده در جنگو
« پاسخ #8 : 27 تیر 1401، 05:09 ب‌ظ »
تو همون شل می‌تونید یک bulk_create جهت ایجاد پروفایل برای تمام کاربرانی که از پیش وجود دارند انجام بدید. برای کاربران جدید هم عموما از سیگنال‌ها استفاده می‌شه.
..I feel no fault for the fault I feel..

آفلاین 🇮🇷

  • رضا حسین‌زاده
  • High Hero Member
  • *
  • ارسال: 1001
  • کنجکاو
    • Reza
پاسخ : کاربر شخصی‌سازی شده در جنگو
« پاسخ #9 : 27 تیر 1401، 07:21 ب‌ظ »
تو همون شل می‌تونید یک bulk_create جهت ایجاد پروفایل برای تمام کاربرانی که از پیش وجود دارند انجام بدید. برای کاربران جدید هم عموما از سیگنال‌ها استفاده می‌شه.
خیلی ممنون. درست شد.
جست و جو کنید و چیز های جدید بیابید