The comicsporn django app : the beginning.
[webcomics.git] / comicsporn / models.py
diff --git a/comicsporn/models.py b/comicsporn/models.py
new file mode 100644 (file)
index 0000000..8ccfd9d
--- /dev/null
@@ -0,0 +1,38 @@
+from django.db import models
+
+# Create your models here.
+
+# A very basic data model to begin with
+# Create sensible default option, test the authentification framework, ensure 
+# pertinence of the comics building way : page by page, vignette by vignette, etc. offer 
+# multiple way as much as much possible, test upload to PDF file outisde the DB...
+
+class User(models.Model):
+       first_name = models.CharField(max_length=50)
+       last_name = models.CharField(max_length=50)
+       # Not sure about this two, django should offer login/pass and session
+       #login = models.CharField(max_length=15)
+       #password = models.CharField(max_length=15) 
+       email = models.EmailField()
+       headshot = models.ImageField(upload_to='user_headshots')
+       is_author = models.BooleanField()
+        #num_awards = models.IntegerField()
+
+
+class Comics_page(models.Model):
+       # Not sure about vignette by vignette view or page by page ... let's start page by page 
+       page_number = models.IntegerField()
+       page_content = models.ImageField(upload_to='comics_pages')
+       upload_date = models.DateField()
+       page_authors = models.ManyToManyField(User)
+
+class Comics(Comics_page):
+       title = models.CharField(max_length=300)
+       rating = models.FloatField()
+       authors = models.ManyToManyField(User)
+       publication_date = models.DateField()
+       # Change the related name to a more appropriate name
+       fragment_comics = models.ManyToManyField(Comics_page, related_name="%(app_label)s_%(class)s_related")
+       full_comics = models.ImageField(upload_to='comics_full')
+       full_comics_upload_date = models.DateField()
+       #publisher = models.ForeignKey(User)