【发布时间】:2021-10-19 11:57:03
【问题描述】:
Python Django 中的唯一类或扩展类或子类?
在以下情况下,我有一种需要?延长的感觉? Migration 类,而不是在第二个模块中重新声明它。还是需要一个子类?
这里的目标:创建一个名为场所的 postgres 表。已经有一个models/venues.py 好像设置好了。
migrations/0001_initial.py:
class Migration(migrations.Migration):
initial = True
dependencies = [('auth', '0012_alter_user_first_name_max_length'),]
operations = [
migrations.CreateModel(
name='User',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, ...)),
('password', models.CharField(max_length=128, ...)),
...
migrations/0002_venue.py:
class Migration(migrations.Migration):
dependencies = [('app', '0001_initial'),]
operations = [
migrations.CreateModel(
name='Venue',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True...)),
('name', models.CharField(blank=True ...)),
('address', models.CharField(blank=True...)),
...
** 模型/venue.py:**
class Venue(models.Model):
name = models.CharField(blank=True, null=True...)
address = models.CharField(blank=True, null=True...)
city = models.CharField(blank=True, null=True, ...)
zip = models.CharField(blank=True, null=True...)
#gps_coords = models.CharField(blank=True...)
gps_lat = models.DecimalField(max_digits=14...)
gps_long = models.DecimalField(max_digits=14...)
description = models.TextField(blank=True, ...)
website = models.URLField(blank=True...)
contact_phone = models.CharField(blank=True...)
contact_email = models.EmailField(blank=True...)
contact_name = models.CharField(blank=True...)
def __str__(self):
return self.name + " " + self.description
帮助?
【问题讨论】:
-
我完全不清楚你的目标是什么。
-
通常迁移是从模型中创建的,并且它们可以工作。你为什么选择了另一条路?
-
感谢 cmets。我将编辑问题以显示模型创建代码。