我正在处理一些“遗留”代码并处理一个问题。我有一些MySQL的架构,其中两个表(这是简化得多的东西去这里):如何从一张表映射到django模型?
article
+------+-------------+-------+------+
| id | author | title | year |
+------+-------------+-------+------+
| 1 | author_name | title | 1999 |
+------+-------------+-------+------+
article_pages
+------+------------+----------+
| id | pages_from | pages_to |
+------+------------+----------+
| 1 | 10 | 15 |
+------+------------+----------+
的文章和article_pages Django的模型,看起来很明显:
class Article(models.Model):
id = models.IntegerField()
author = models.CharField(max_length=256)
name = models.CharField(max_length = 256)
year = models.IntegerField()
class ArticlePages(models.Model):
id = models.IntegerField()
page_from = models.IntegerField()
page_to = models.IntegerField()
现在在我views
我需要通过网页的排序articels:
articles = Article.objects.filter(name=current_name_to_filter).order_by('page_from')
我知道,需要有OneToOneFiled
Article
和ArticlePages
之间的关系,但我不太清楚如何实现。我想:pages_from = OneToOneField(ArticlePages.page_from, related_name = 'id')
。我非常了解python,但我是Django的新手。这种方法在我看来很明显,但不起作用。我知道需要对数据库进行一些更改,但调用python manange.py syncdb
不起作用。 两个表中的id
列是它们之间的标识符。 id
在article
和article_pages
对应在一起。
我需要使用:mysql
,djangon=1.5.2
您是否使用['inspectdb'](https://docs.djangoproject.com/en/1.7/howto/legacy-databases/#auto-generate-the-models)来创建这些模型? – 2014-10-22 06:22:16
另外还有答案。 'Django south'''(http://south.readthedocs.org/en/latest/)是管理数据库变更的好工具。 – 2014-10-22 10:42:09