Newby Frage: Manytomany Relation mit mysql und Serendipity
Verfasst: Sonntag 8. Februar 2009, 15:47
Hallo,
ich bin noch ziemlich neu bei python/django und versuche, per python auf die mysql Datenbank meiner Serendipity Installation zuzugreifen (komme von php).
Dabei geht es mir darum, das mysql-schema als python model abzubilden, um Einträge zusammen mit den Kategorien verknüpfen zu können.
Das mysql schema ist recht einfach:
serendipity_category ( categoryid [pk], category_name [varchar] )
serendipity_entrycat ( entryid [fk], categoryid [fk])
serendipity_entries (id [pk],. title [varchar], body [varchar])
Allerdings ist das Schema bei Serendipity nicht so kanonisch, wie man es sich wünschen würde. Trotzdem denke ich, das es möglich sein sollte, ein Model für die drei Tabellen in Python zu erstellen, welche es erlauben, zu den entries die category mit anzuzeigen.
Mein Model sieht ggw. so aus:
Hat jemand einen Tip, wie ich weiterkomme. Ziel ist es, zunächst in dem Django Adminbackend für die Einträge eine Auswahlliste o.ä. für die Kategorie zu erhalten.
thanx
ich bin noch ziemlich neu bei python/django und versuche, per python auf die mysql Datenbank meiner Serendipity Installation zuzugreifen (komme von php).
Dabei geht es mir darum, das mysql-schema als python model abzubilden, um Einträge zusammen mit den Kategorien verknüpfen zu können.
Das mysql schema ist recht einfach:
serendipity_category ( categoryid [pk], category_name [varchar] )
serendipity_entrycat ( entryid [fk], categoryid [fk])
serendipity_entries (id [pk],. title [varchar], body [varchar])
Allerdings ist das Schema bei Serendipity nicht so kanonisch, wie man es sich wünschen würde. Trotzdem denke ich, das es möglich sein sollte, ein Model für die drei Tabellen in Python zu erstellen, welche es erlauben, zu den entries die category mit anzuzeigen.
Mein Model sieht ggw. so aus:
Code: Alles auswählen
from django.db import models
class Category(models.Model):
categoryid = models.IntegerField(primary_key=True)
category_name = models.CharField(maxlength=200)
def __str__(self):
return self.category_name
class Admin:
pass
class Entries(models.Model):
id = models.IntegerField(primary_key=True)
title = models.CharField(maxlength=200)
body = models.TextField()
extended = models.TextField()
timestamp = models.CharField(maxlength=200)
last_modified = models.CharField(maxlength=200)
category = models.ManyToManyField(Entrycat)
def __str__(self):
return self.title
class Admin:
pass
class Entrycat(models.Model):
entryid = models.ForeignKey(Entries, related_name="Entries.id")
categoryid = models.ForeignKey(Category, related_name="Category.categoryid")
thanx