X-Git-Url: http://git.veekun.com/zzz-floof.git/blobdiff_plain/f267b2f2841d407dcdf9c3c0f5406f8c10403ccb..ac3d66885419d71d6e6d16080fcf09ecffa66fe9:/floof/model/users.py diff --git a/floof/model/users.py b/floof/model/users.py index c38197c..7601cf5 100644 --- a/floof/model/users.py +++ b/floof/model/users.py @@ -16,10 +16,15 @@ class User(Entity): # galleries = OneToMany('GalleryWidget') pages = OneToMany('UserPage', inverse="owner") primary_page = OneToOne('UserPage', inverse="owner") + relationships = OneToMany('UserRelationship', inverse='user') + target_of_relationships = OneToMany('UserRelationship', inverse='target_user') def __unicode__(self): return self.name + + def __str__(self): + return self.name def __init__(self, **kwargs): super(User, self).__init__(**kwargs) @@ -53,9 +58,23 @@ class UserPage(Entity): visible = Field(Boolean) galleries = OneToMany('GalleryWidget') - - - - -# class ArtRelation(Entity): -# \ No newline at end of file + + +class UserRelationshipTypes(object): + IS_WATCHING = 1 + +class UserRelationship(Entity): + """Represents some sort of connection between users. + + For the moment, this means "watching". Later, it may mean friending or + ignoring. + + XXX: Watching should be made more general than this; it should have the + power of an arbitrary query per watched artist without being unintelligible + to users. + """ + + user = ManyToOne('User') + target_user = ManyToOne('User') + type = Field(Integer) # UserRelationshipTypes above +