Tôi đang cố gắng tìm ra cách bố trí hai mô hình Django để khi một mô hình mới được lưu vào cơ sở dữ liệu, khóa chính của nó được tăng lên sao cho nó giá trị cao nhất tiếp theo cho tất cả các bản ghi có cùng khóa ngoại.Django Model Auto Increment Primary Key Dựa trên khóa ngoài
Nó giống như this question asked, nhưng tôi tự hỏi làm thế nào bạn sẽ làm điều đó trong Django. Dưới đây là một đoạn trích từ câu hỏi đó chứng tỏ một tình huống tương tự:
id | job_id | title
0 1 hi
1 1 hello
2 1 goodbye
0 2 hi
1 2 hello
Tôi biết you can't have multiple primary keys in a Django model và bạn có thể sử dụng unique_together, nhưng các tài liệu nói nó sử dụng UNIQUE
tuyên bố tương đương trong CREATE
báo cáo. Có phải
class ModelA(models.Model):
key = models.PositiveIntegerField(primary_key = True)
fk = models.ForeignKey(ModelB)
def Meta(self):
unique_together = ("key", "fk")
trong các mô hình hoạt động với this answer để hoàn thành những gì tôi đang tìm? Mối quan hệ giữa các mô hình là một ModelA
có nhiều ModelB
s, nhưng mỗi ModelB
chỉ có một ModelA
.
Đoạn đầu tiên không phân tích cú pháp. –
@ IgnacioVazquez-Abrams, tôi rephrased đoạn đầu tiên và thêm một ví dụ. Bây giờ nó có ý nghĩa hơn không? – Dirk