Python 数据库设计正确
我正在创建一个与牙医有关的django项目。 每个客户都有自己的一套牙齿,所以我有一个模型客户和一个带外键的模型客户 有一个叫做牙周造影的检查,它存储了一些关于每颗牙齿的信息,比如牙龈边缘探测深度,如果它有植入物(牙齿)等等。我想在我的项目中实现这一点。考虑到客户可能有不止一个牙周造影,我决定将其作为一个模型来实施。每个牙周图模型都有许多牙周图操作,其中每个牙周图操作都包含每个牙齿的信息。看起来是这样的Python 数据库设计正确,python,mysql,django,Python,Mysql,Django,我正在创建一个与牙医有关的django项目。 每个客户都有自己的一套牙齿,所以我有一个模型客户和一个带外键的模型客户 有一个叫做牙周造影的检查,它存储了一些关于每颗牙齿的信息,比如牙龈边缘探测深度,如果它有植入物(牙齿)等等。我想在我的项目中实现这一点。考虑到客户可能有不止一个牙周造影,我决定将其作为一个模型来实施。每个牙周图模型都有许多牙周图操作,其中每个牙周图操作都包含每个牙齿的信息。看起来是这样的 class Customer(models.Model): ..... Class
class Customer(models.Model):
.....
Class Tooth(models.Model):
customer = models.ForeignKey(Customer)
class Periodontogram(models.Model):
customer = models.ForeignKey(Customer)
date = models.DateField()
class PeriOperation(models.Model):
tooth = models.ForeignKey(Tooth)
peri = models.ForeignKey(Periodontogram)
#rest of work done per tooth
implant = models.BooleanField()
ginginal_margin1 = models.IntegerField()
#...more
前端在后端发送json数据以保存它。所以为了妥善保存它,我必须
但是,如果在创建每齿操作时某些操作失败,会发生什么情况呢。peri将被保存,但不会与任何操作一起保存。处理它的最佳方法是什么?您应该使用数据库事务,以便将所有数据保存到数据库中,或者什么也不保存。您可以在此处阅读更多有关事务的信息 您可能还需要检查MySql如何处理事务:
您应该使用数据库事务,以便将所有数据保存到数据库或不保存任何内容。您可以在此处阅读更多有关事务的信息 您可能还需要检查MySql如何处理事务:
可能是“牙龈边缘”,对吗?我有生命科学的背景,所以我注意到这个医学术语是错误的。是的,它是牙龈边缘…这是真的。这会对我的问题解决方案产生影响吗(没有讽刺……只是开玩笑:)?这可能是“牙龈边缘”,不是吗?我有生命科学的背景,所以我注意到这个医学术语是错误的。是的,它是牙龈边缘…这是真的。这会对我的问题解决方案产生影响吗(没有讽刺……只是开玩笑:)?是的,交易才是关键。是的,交易才是关键。