Hello, I'm in the design stages of a site that I'm building. It is going to 
be a basic social media site for a game I'm designing in unity. I'm not 
entirely sure how to do some of the things I want to in Django. Thus, my 
first question is generally best practices question as well as a how do I 
do this question.


Qustion #1: How do I set up my models field so that when a user uploads an 
image to a filefield it attaches the users name to the file that is being 
uploaded? Should I do this in the view or in the database?


Question #2: Examine my model design and tell me what I can do better, if 
I'm missing anything etc. I'm new to django so go easy. I didn't do the def 
and functions and class stuff just the over all structure. If it would be 
better if I posted that let me know and I will.


Question#3 How do I make the page when a user logs in resolve to his 
username, and how do I use the username as the url so when you click on a 
list of friends it uses that friends username as the url for their profile 
and resolves to thier page, a quick overview on the best way to do this 
would be just fine. Just point me and kinda explain the theory and I'm sure 
I can figure out the rest. 


Please just help me think of things I need to worry about design with 
django im just starting and I dont have a good base to go on.
class User(models.Model):

 


id = models.AutoField(primary_key=True)

username = models.CharField(max_length=4000)

password = models.CharField(max_length=4000)

email = models.CharField(max_length=4000)

phone = models.CharField(max_length=4000)

profile_image = models.FileField()

about  = models.CharField(max_length=4000)

hometown  = models.CharField(max_length=4000)

job  = models.CharField(max_length=4000)

score  = models.CharField(max_length=4000)

hobbies  = models.CharField(max_length=4000)

datetime  = models.DateField()

     class Meta:

        managed=True 


 

class Message(models.Model): 


id = models.AutoField(primary_key=True)

userid = models.ForeignKey(User)

friendid = models.ForeignKey(User)

msg  = models.CharField(max_length=4000)

subject = models.CharField(max_length=4000)

datetime  = models.DateField()

     class Meta:

        managed=True 

class MsgQueue(models.Model): 


id = models.AutoField(primary_key=True)

userid = models.ForeignKey(User)

friend = models.CharField(max_length=4000)

msg  = models.CharField(max_length=4000)

type  = models.CharField(max_length=4000)

dest  = models.CharField(max_length=4000)

datetime  = models.DateField()

     class Meta:

        managed=True 

class UserCode(models.Model): 


id = models.AutoField(primary_key=True)

userid = models.ForeignKey(User)

code  = models.CharField(max_length=4000)

datetime  = models.DateField()

     class Meta:

        managed=True 

class Album(models.Model): 


id = models.AutoField(primary_key=True)

userid = models.ForeignKey(User)

name  = models.CharField(max_length=4000)

imageid = models.ForeignKey(Image)

datetime  = models.DateField()

     class Meta:

        managed=True 

class Image(models.Model): 


id = models.AutoField(primary_key=True)

userid = models.ForeignKey(User)

image = models.FileField()

imgdesc  = models.CharField(max_length=4000)

datetime  = models.DateField()

     class Meta:

        managed=True 

 

class ImageComment(models.Model): 


id = models.AutoField(primary_key=True)

userid = models.ForeignKey(User)

imageid = models.ForeignKey(Image)

comment = models.CharField(max_length=4000)

datetime = models.DateField()

     class Meta:

        managed=True 


 

class ImageLike(models.Model): 


id = models.AutoField(primary_key=True)

imageid = models.ForeignKey(Image)

userid = models.ForeignKey(User)

datetime = models.DateField()

     class Meta:

        managed=True 


 

class Post(models.Model): 


id = models.AutoField(primary_key=True)

userid = models.ForeignKey(User)

message = models.CharField(max_length=4000)

image = models.FileField()

embed_link  = models.CharField(max_length=4000)

liked_count  = models.CharField(max_length=4000)

datetime = models.DateField()

     class Meta:

        managed=True 


 

class PostComment(models.Model): 


id = models.AutoField(primary_key=True)

userid = models.ForeignKey(User)

postid = models.ForeignKey(Post)

comment = models.CharField(max_length=4000)

datetime = models.DateField()

     class Meta:

        managed=True 


 

class PostLike(models.Model): 


id = models.AutoField(primary_key=True)

postid = models.ForeignKey(Post)

userid = models.ForeignKey(User)

datetime = models.DateField()

     class Meta:

        managed=True 


 

class UserFriend(models.Model): 


id = models.AutoField(primary_key=True)

userid = models.ForeignKey(User)

friendid = models.ForeignKey(User)

datetime = models.DateField()

     class Meta:

        managed=True 


 


 

class UserEnviroment(models.Model): 


id = models.AutoField(primary_key=True)

userid = models.ForeignKey(User)

elementid = models.ForeignKey(User)

datetime = models.DateField()

     class Meta:

        managed=True 


 

class EnvElement(models.Model): 


id = models.AutoField(primary_key=True)

elementname = models.CharField(max_length=4000)

elementfile = models.FileField()

elementcost =  models.CharField(max_length=4000)

elementmaturetime = models.CharField(max_length=4000)

elementposition = models.CharField(max_length=4000)

datetime = models.DateField()

     class Meta:

        managed=True


-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/0a22208b-2316-4f29-9238-a292b932d5aa%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to