Django postgresql外键

6 python django postgresql foreign-keys

我有这个models.py

from django.db import models
from django.contrib.auth.models import User

class Service(models.Model):
    user = models.ForeignKey(User)
    name = models.CharField(max_length=800, blank=False)
    service = models.CharField(max_length=2000, blank=False)
    def __unicode__(self):
        return self.name

class ServiceCheck(models.Model):
    service = models.ForeignKey(Service)
    check_status = models.CharField(max_length=80)
    check_time = models.DateTimeField()
Run Code Online (Sandbox Code Playgroud)

当我对postgresql运行syncdb时,它最终会出错:

~/dev-md> sudo python manage.py syncdb
Creating tables ...
Creating table monitor_service
Creating table monitor_servicecheck

DatabaseError: Hash/Modulo distribution column does not refer to hash/modulo distribution column in referenced table.
Run Code Online (Sandbox Code Playgroud)

ste*_*iot 2

代码乍一看还不错我怀疑这是一个与数据库相关的问题。

由于max_length提供的 s 相当大,请尝试将max_lengths 减少到 <= 255 或使用 aTextField代替 a CharField

如果失败,请尝试重命名和/或service中的字段。ServiceServiceCheck