Tek tıkla eklemek için Ajax kullanacaksın. Kullanıcıya favorites field i ekle (ManytoMany). Sonra favoriler sayfasında hepsini göstereceksin. Anlayamazsan bana telegram dan yaz.
Aslinda aklima soyle bir yol geldi:models.pyde favori adli bir yer olusturucaz boolean filed olucak ve defaultu false olucak.kullanici favori butonuna tikladiginda viewde kontrol yapilacak eger bu kullanici icic modelsdeki favori yeri false ise true yapicak true ise false yapicak(burayi nasil yapacagimi bilmiyorum).daha sonra favori ilanlar sekmesinde bu kullanici icin favori yeri true olan tum ilanlar listelenicek(burayida nasil yapa bilecegimi bilmiyorum).yardimci ola bilirseniz sevinirim.olamasanizda caniniz sag olsun
favorites = models.ManytoManyField(MyModel)
# Buradaki MyModel sizin modeliniz, kullanıcı
# neyi favori yapacaksa onun modelini yazın.
User modeline eklemeyi de Barış aslan’ın videosunda bulabilirsiniz.
Şimdi, kullanıcıdan favorilere ekleme isteği geldi diyelim, şunu yapıyorsunuz.
# Post değişkeni kullanıcının favorilemek istediği yazı olsun.
request.user.favorites.add(post)
Şimdi kullanıcının favorilerine ekledik. Kullanıcıdan bu isteğin nasıl geleceğini de kısaca anlatayım. Eğer postun sayfasındayken kullanıcı favorilere ekle butonuna basarsa siz javascript ve ajax ile django’ya “kullanıcı postu favorilerine ekleyecek” verisini gönderiyorsunuz. Ve django da yukarıda gösterdiğim işlemi yapacak.
Cok tesekkur ederim.artik dogru duzgun calisiyor.geriye bir tek sey kaldi:viewsde if kontrolu yapmak.eger ilan kullanicinin favori ilanlarinda var ise silicek yok ise ekleyecek
views.py: