Mein Modell ist ähnlich. Ist das ok oder sollte ich die gemeinsame Basisklasse abstrakt machen? Was sind die Unterschiede zwischen diesem oder machen es abstrakt und keine zusätzliche Tabelle? Es ist merkwürdig, dass es jetzt nur einen Primärschlüssel gibt, da ich die Fakten ausgeklammert habe.ist es sicher, meine Django-Modelle umzuformen?
class Input(models.Model):
details = models.CharField(max_length=1000)
user = models.ForeignKey(User)
pub_date = models.DateTimeField('date published')
rating = models.IntegerField()
def __unicode__(self):
return self.details
class Case(Input):
title = models.CharField(max_length=200)
views = models.IntegerField()
class Argument(Input):
case = models.ForeignKey(Case)
side = models.BooleanField()
ist das ok um auszustopfen intpu Input? Ich habe festgestellt, dass Fälle und Argumente einen Primärschlüssel teilen.
wie folgt aus:
CREATE TABLE "cases_input" (
"id" integer NOT NULL PRIMARY KEY,
"details" varchar(1000) NOT NULL,
"user_id" integer NOT NULL REFERENCES "auth_user" ("id"),
"pub_date" datetime NOT NULL,
"rating" integer NOT NULL
)
;
CREATE TABLE "cases_case" (
"input_ptr_id" integer NOT NULL PRIMARY KEY REFERENCES "cases_input" ("id"),
"title" varchar(200) NOT NULL,
"views" integer NOT NULL
)
;
CREATE TABLE "cases_argument" (
"input_ptr_id" integer NOT NULL PRIMARY KEY REFERENCES "cases_input" ("id"),
"case_id" integer NOT NULL REFERENCES "cases_case" ("input_ptr_id"),
"side" bool NOT NULL
)