[wouso-dev] Invite your friends feature

Alex Eftimie alexeftimie at gmail.com
Thu Apr 8 19:05:54 EEST 2010


Salut,

2010/4/8 Mircea-Ştefan Ghideu <shtephan10 at gmail.com>:
> Salut,
>
> Am început să lucrez la wouso-fb. Pana acum am creeat doar paginile cu

s/creeat/creat/ (a crea se conjugă la fel cu a lucra)

> liste de prieteni, utilizatori şi invitaţii, şi am cam ramas aici
> fiindcă am nevoie de o relaţie mulţi la mulţi în baza de date. Relaţia
> am nevoie să fie între utilizatori şi prietenii lor. Cum pot face asta?

Poți extinde clasa UserProfile sau direct clasa User și adăuga un câmp
friends de tipul ManyToMany. Ideal ar fi să folosești chiar ca în
exemplul din documentație[1] o legătură către `self':
--
class Person(models.Model):
    friends = models.ManyToManyField("self")
--
Problema de care cred că te lovești este faptul că pentru prieteni nu
ai definit un model - sunt liste de id-uri din răspunsul API call, nu?
 Cred că ar trebui să modelăm acești posibil viitori utilizatori în de
ex. FacebookUser și adăuga câmp many2many de acest tip.
Nu putem folosi modelul nostru pentru că ei sunt doar potențiali
utilizatori ai wouso.

Dezavantajul acestei abordări apare în momentul în care unul dintre
acești friends (FacebookUser) devine utilizator WoUSO (UserProfile).
În acest caz ar trebui legat cumva, cred că un câmp OneToOne între
FacebookUser și User (cu posibilitate de a fi lăsat blank) ar fi bun.

Aștept și alte păreri.

> Am trimis ultimele modificări şi încercări în repo.
Felicitări! O să mă uit peste ele :)

Alex

[1] http://docs.djangoproject.com/en/1.1/ref/models/fields/#django.db.models.ManyToManyField


More information about the wouso-dev mailing list