我当前的型号
class DriverStatus(models.Model):
status = models.CharField(max_length=200)
def __str__(self):
return f'{self.status}'
class Driver(models.Model):
name = models.CharField(max_length=200)
driver_num = models.IntegerField()
profile_image = models.ImageField(default="default.jpg",upload_to="images")
status = models.ForeignKey(DriverStatus, on_delete=models.CASCADE)
current_vehicle = models.ForeignKey(Vehicle, on_delete=models.SET_NULL,null=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
def __str__(self):
return f'{self.name}'
class Vehicle(models.Model):
vehicle_number = models.CharField(max_length=200)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
def __str__(self):
return f'{self.vehicle_number
答案 0 :(得分:1)
您不能在数据库级别上执行此操作。但是您可以添加模型验证:https://docs.djangoproject.com/en/3.0/ref/validators/
或者您可以使用模型的clean方法进行验证: Validate count() constraint in many to many relation before saving an instance in django
在驱动程序类中添加它:
+----+------+-------+-------------+
| | long | short | profit |
+----+------+-------+-------------+
| 4 | B | A | 149.635831 |
+----+------+-------+-------------+
| 12 | D | A | 101.525670 |
+----+------+-------+-------------+
| 8 | C | A | 78.598163 |
+----+------+-------+-------------+
| 6 | B | C | 71.037668 |
+----+------+-------+-------------+
| 7 | B | D | 48.110161 |
+----+------+-------+-------------+
| 14 | D | C | 22.927507 |
+----+------+-------+-------------+
| 11 | C | D | -22.927507 |
+----+------+-------+-------------+
| 13 | D | B | -48.110161 |
+----+------+-------+-------------+
| 9 | C | B | -71.037668 |
+----+------+-------+-------------+
| 2 | A | C | -78.598163 |
+----+------+-------+-------------+
| 3 | A | D | -101.525670 |
+----+------+-------+-------------+
| 1 | A | B | -149.635831 |
+----+------+-------+-------------+
我还没有测试过,但这就是想法!