Suk*_*rab 5 python database django django-models django-forms
我的 Django 项目中有一些应用程序。我目前正在使用两个应用程序“应用程序”和“用户”,我有两个与模型相关的问题:
问题一:
我想以这样的方式设计它,以便外部用户在Application/templates/Application/Apply.html并且信息将被添加到数据库中。内部用户也可以添加外部用户,但使用不同的模板:User/templates/User/AddNewContact.html
我可以从内部用户的角度添加新联系人:
User/models.py
class Contact(models.Model):
ContactName = models.CharField(max_length = 250, default='')
ContactResidence = models.CharField(max_length = 250, default='')
Tel = models.CharField(max_length = 250, default='')
def get_absolute_url(self):
return reverse('User:ContactDetails', kwargs={'pk': self.pk}
)
def __str__(self):
return self.ContactName
class Locations(models.Model):
contact = models.ForeignKey(Contact, on_delete=models.CASCADE)
Country = models.CharField(max_length=250, default='')
def __str__(self):
return self.Country
Run Code Online (Sandbox Code Playgroud)
我打算复制这个模型并将其粘贴到 Application/models.py 中,但有两个问题:
1) 我不希望外部用户被定向到 URL:User:ContactDetails从技术上讲,这是行不通的,因为我稍后将构建身份验证。
2)我觉得通过复制和粘贴我打破了“不要重复”的规则。
我应该使用外键连接两个模型吗?在这种情况下,最佳实践是什么?
问题2
我是否根据提供的模型处理一对多关系?我想要一个联系人及其个人信息(电话/电子邮件/地址)以及与该联系人关联的全球多个分支机构。
这些应用程序应位于同一项目中,并且您可以导入一个模型,如下所示:
import appName.models or
from appName.models import ClassName
Run Code Online (Sandbox Code Playgroud)
在 app2 模型中,您可以在导入类后使用foreignKey或manyTomany:
from appsName.models import ClassName
class Person(models.Model):
con = ForeignKey(ClassName)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10119 次 |
| 最近记录: |