Closed FarimanGhaedi closed 4 years ago
سلام وقت بخیر نکته اول این که این لایبرری در لایه دیتابیس هیچ تغییر ایجاد نمیکند، پس در دیتابیس کماکان تاریخ ها به صورت میلادی ذخیره میشوند نه شمسی. پس لطفا مقدار پیش فرض تاریخ تولد رو یک تاریخ میلادی قرار بدید نه شمسی.
دوم این که گفتید که در فرم به درستی نمایش داده میشود اما در لیست خیر. شما برای این که تاریخ ها در صفحه لیست ابجکت ها نیز شمسی نمایش داده شود میتوانید از نمونه کد زیر استفاده کنید.
from django.contrib import admin
from jalali_date import datetime2jalali
@admin.register(MyModel)
class MyModelAdmin(ModelAdminJalaliMixin, admin.ModelAdmin):
list_display = ('my_fields', 'jalali_birthdate')
def jalali_birthdate(self):
return datetime2jalali(self.birthdate).strftime('%y/%m/%d')
jalali_created.admin_order_field = 'birthdate'
jalali_created.short_description = _('birthdate')
ممنون از پاسخگویی تون ولی الان یه همچین خطایی میده: jalali_birthdate() takes 1 positional argument but 2 were given
ایراد رو پیدا کردم. متد jalali_birthdate رو داخل فایل ادمین نوشته بودم. از اونجا منتقلش کردم داخل خود مدل
با سلام من یک مدل برای ذخیره مشخصات افراد دارم که یکی از فیلدهاش تاریخ تولد هست زمانی که به بخش ادمین سایت وارد میشم و لیست یوزرها رو نگاه میکنم اون فیلد رو به صورت میلادی نشون میده اما وقتی که روی یک یوزر کلیک میکنم که مشخصاتش رو ویرایش کنم تاریخ به صورت شمسی نشون داده میشه. در فایل مدل برای فیلد روز تولد از default='1385-06-15" استفاده کردم که مطمئن باشم داده اولیه به صورت شمسی هست ولی همچنان مشکل برقراره در ضمن در قسمت ادمین برای مدل ادمین ModelAdminJalaliMixin رو ایمپورت کردم ممنون میشم راهنمایی کنید
Originally posted by @FarimanGhaedi in https://github.com/a-roomana/django-jalali-date/issues/6#issuecomment-515388843