gpt4 book ai didi

python - 错误 models.py Django

转载 作者:太空宇宙 更新时间:2023-11-03 16:22:39 24 4
gpt4 key购买 nike

我在 django 中创建迁移时遇到错误

模型.py

class StateBuyers(models.Model):
name = models.CharField(max_length=100)

def __unicode__(self):
return self.name

class Meta:
db_table = "states"

class CountiesBuyers (models.Model):
state = models.ForeignKey(StateBuyers, on_delete=models.CASCADE)
name = models.CharField(max_length=100)

def __unicode__(self):
return self.name

class Meta:
db_table = "counties"


class CityBuyers (models.Model):
state = models.ForeignKey(StateBuyers, on_delete=models.CASCADE)
county = models.ForeignKey(CountiesBuyers, on_delete=models.CASCADE)
name = models.CharField(max_length=100)

def __unicode__(self):
return self.name

class Meta:
db_table = "cities"

也许我这里有错误创建多个实例的一个实例

class Buyers(models.Model):
name = models.CharField(max_length= 50)
state = models.ForeignKey(StateBuyers, related_name="Buyers", null=True, on_delete=models.CASCADE)
city = models.ForeignKey(CityBuyers, related_name="Buyers", null=True, on_delete=models.CASCADE)
phonenumber = models.CharField(max_length=15)
email = models.EmailField (max_length= 50)
notes = models.CharField(max_length=200)

def __unicode__(self):
return self.name

class Meta:
db_table = "buyers"

在迁移时抛出此错误有什么想法吗?.

migration error

最佳答案

有点偏离主题,但你为什么不遵循惯例呢?

  • 使用单数形式的简单模型名称
  • 如果参数与默认值相同,则无需额外参数
  • 如果县有州,为什么要重复州?有性能提升吗?
class NameAsReprMixin(object):
def __unicode__(self):
return self.name

class State(models.Model, NameAsReprMixin):
name = models.CharField(max_length=100)


class County(models.Model, NameAsReprMixin):
state = models.ForeignKey(State)
name = models.CharField(max_length=100)


class City(models.Model, NameAsReprMixin):
county = models.ForeignKey(County)
name = models.CharField(max_length=100)


class Buyer(models.Model, NameAsReprMixin):
name = models.CharField(max_length= 50)
state = models.ForeignKey(State, related_name="buyers", null=True)
city = models.ForeignKey(City, related_name="buyers", null=True)
phone_number = models.CharField(max_length=15)
email = models.EmailField(max_length= 50)
notes = models.CharField(max_length=200)

然后:

# all city buyers
City.object.get(...).buyers.all()

# all state byuers
State.object.get(...).buyers.all()

关于python - 错误 models.py Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38276301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com