ich bin aktuell am Testen von django und habe das Problem, dass ich im model.py nicht umsetzen kann
was ich gern moechte.
das hier moechte ich gern:
Code: Alles auswählen
CREATE TABLE objekt (
objekt_id int(4) NOT NULL AUTO_INCREMENT,
name varchar(80) NOT NULL,
text varchar(150) DEFAULT NULL,
anderes varchar(4) DEFAULT NULL,
PRIMARY KEY (`objekt_id`),
UNIQUE KEY name (name)) ENGINE=INNODB;
mysql> select * from objekt;
+-----------+-------+------+------------+
| objekt_id | name | text | anderes |
+-----------+-------+------+------------+
| 1 | bla | txt | 1 |
| 2 | blubb | txt | 1 |
| 3 | foo | txt | 1 |
| 4 | bar | txt | 1 |
+-----------+-------+------+------------+
CREATE TABLE url (
url_id int(4) NOT NULL AUTO_INCREMENT,
selbst int ,
ziel int,
x int(4) NOT NULL,
y int(4) NOT NULL,
FOREIGN KEY (selbst) REFERENCES objekt(objekt_id),
FOREIGN KEY (ziel) REFERENCES objekt(objekt_id),
PRIMARY KEY (url_id)
) ENGINE=INNODB;
mysql> select * from url;
+--------+--------+------+----+----+
| url_id | selbst | ziel | x | y |
+--------+--------+------+----+----+
| 1 | 1 | 2 | 45 | 66 |
| 2 | 1 | 3 | 45 | 66 |
| 3 | 1 | 4 | 45 | 66 |
| 4 | 2 | 1 | 45 | 66 |
| 5 | 2 | 3 | 45 | 66 |
+--------+--------+------+----+----+
select distinct
obj2.objekt_id,
obj2.name
from url,
objekt as obj1,
objekt as obj2
where obj1.objekt_id = 1
and url.selbst = obj1.objekt_id
and url.ziel = obj2.objekt_id
+-----------+-------+
| objekt_id | name |
+-----------+-------+
| 2 | blubb |
| 3 | foo |
| 4 | bar |
+-----------+-------+
Code: Alles auswählen
class objekt(models.Model):
name = models.CharField(max_length=80, unique=True)
text = models.CharField(max_length=150, null=True)
teilgebiet = models.ForeignKey(teilgebiet)
def __unicode__(self):
return self.question
class url(models.Model):
selbst = models.ForeignKey(objekt)
ziel = models.ForeignKey(objekt)
x = models.IntegerField()
y = models.IntegerField()
def __unicode__(self):
return self.question
Error: One or more models did not validate:
polls.url: Accessor for field 'selbst' clashes with related field 'objekt.url_set'. Add a related_name argument to the definition for 'selbst'.
polls.url: Accessor for field 'ziel' clashes with related field 'objekt.url_set'. Add a related_name argument to the definition for 'ziel'.
Leider finde ich nicht heraus wie ich das besser machen koennte?
Koennte mir da jemand helfen?
Danke und Gruss,
Sylvia