سلام خسته نباشید.
من دارم یه پروژه مثل دیوار میزنم توی قسمت ارتقا اگهی ها(فوری ، نردبان) یه مشکلی دارم من دوتا جدول دارم یکی Promotion که این جدول برای اضافه کردن انواع ارتقاها در نظر گرفته شده (فوری ، نردبان ، نردبان و فوری ، تمدید)
و یک جدول AdvertisementPromotion دارم که کاربر بعد از پرداخت اون اگهی با اون نوع از ارتقا توی این جدول ذخیره میشن که عکس مدلاشو گذاشتم حالا من یه کویری دارم :
Advertisement.objects.filter(status=Advertisement.ACCEPTED).annotate(
time=Case(
When(promotions__promotion=Promotion.LADDER, then='promotions__created_time'), default='created_time'
)
).order_by('-time')
که خب وقتی اگهی نردبان بشه باید توی اون دسته بیاد سطر اگهیها تا وقتی که یه اگهی جدید ساخته بشه سطر میمونه این تعریف خود دیوار از اگهیهای نردبان : آگهی شما تا زمان دریافت آگهی تازهتر در همان دستهبندی و شهر، به عنوان اولین آگهی نمایش داده میشود.
اما مشکل اینه که اگه من بیام دستی به طور مثال برای یک اگهی هم نردبانش کنم هم فوری کنم توی جدول AdvertisementPromotion دوتا فیلد ساخته میشه که مشکلی نیس اما با این کویری که من زدم وقتی جوینشون میکنه مثلا اگهی X یه بار تو خود Advertisement دوبار تو AdvertisementPromotion و وقتی جوین میخورن سه تا اگهی رو نشون میده من چیزی که کویری برمیگردونه و خود کویری رو عکسشو میزارم
میخوام ببینم مشکل از دیزاین دیتابیسه و دیزاین و باید عوض کنم
یا کویری دیگه ای باید بزنم.
امیدوارم کامل و واضح شرح داده باشم خسته نباشید مرسی.