Sort کردن مدل های ManyToManyField در django

سلام دوستان من یه رابطه توی مدل هام دارم به این صورت

class UserPost(models.Model):
    post = models.ManyToManyField(Post,)

و الان هر ابجکت از Post که به این مدل UserPost اد میشه میخوام که براساس لحظه که اد شدن sort بشن مثلا الان اگهبه این ترتیب اد بشن Post5 و Post2 و Post4 بعد به همین ترتیب sort بشن

یه فیلد جدید اضافه کن برای زمانی که رکورد ساخته می شه روش یه ایندکس بذار که وقتی query می زنی بر اساس اون فیلد sort می کنی از ایندکس استفاده کنه

2 پسندیده

دوتا فیلد اضافه کن، یکی برای زمان‌درست شدن و یکی هم برای نگهداری زمان ویرایش
created_at, updated_at

1 پسندیده

متوجه نشد :confused:

الان منظورتون به همین مدل هستش یا مدل post

class UserPost(models.Model):
    post = models.ManyToManyField(Post,blank=True,)
    user = models.ForeignKey(get_user_model(), on_delete=models.CASCADE,)

الان کل مدل به این صورته

به هر جدولی که قراره سورت بشه

1 پسندیده

الان کاری که من میخوام انجام بدم این که هر پستی که توی این مدل اد میشه رو بعد به همین ترتیب اد شدن قبلیشون sort کنم

class UserPost(models.Model):
    post = models.ManyToManyField(Post,blank=True,)
    user = models.ForeignKey(get_user_model(), on_delete=models.CASCADE,)

خوب این جا ما یه رابطه ManyToManyField دارم که نمیشه برای هر کدوم از پست ها این کار کرد

الان منظورتون این که من این مقدار ها رو به مدل پست اد کنم اگه این طور باشه بعد این پست ها توی همچین مدلی دوباره برای user های دیگه قرار میگیرن که تداخل ایجاد میشه

میتونی بجای مدل جدول ها رو بگی که راحت تر درک‌کنم؟ خیلی ساله با جنگو کار نکردم.

اما فکر کنم باید به جدول posts اضافه بشه، صبر کن‌یه نگاه بندازم

1 پسندیده

بنظر میاد اگر از TimeStampedModel استفاده کنی اون فیلد ها اتوماتیک درست میشن اما به صورت پیش‌فر نیست، یه نگاه بنداز:

1 پسندیده

نه چون من برای هر فیلد نیازش دارم

یه سوال الان که از رایطه ManyToManyField استفاده کردم که یه تعداد Post داره
و این جا هر Post ویرایش کنم داخل این مدل هم پست محتواش ویرایش میشه در واقع میشه گفت تقریبا یه ادی از پست داخل این رابطه هستش

میگم این امکان نیست که به Post یه فیلد اضافه کنم و وقتی هم که تو رابطه دیگه قرار گرفت و مقدار اون فیلد تغییر کرد فقط مقدار اون فیلد داخل اون رابطه تغییر کنه ؟؟؟

مثلا یه فیلد score که توی هر رابطه دیگه بشه مقدارشو تغییر داد

اگر درست متوجه شده باشم، بله کاری که می خواین انجام بدین درسته توی جایی که به post رابطه می زنی می تونه score رو قرار بدی