Tôi có một vài kiểu máy có tất cả chức năng chung. Mỗi Mô hình là một loại vật thể được lưu trữ để chia sẻ những thứ như stock
và cũng chia sẻ một số thứ như sự kiện cảnh báo cổ phiếu thấp (gửi email).Django: Ghi đè nhãn trường hoặc help_text ở mô hình con
Thay vì sao chép mã, tôi đã viết Mô hình trừu tượng và được kế thừa từ nó.
class LowStockModel(models.Model):
stock = stock = models.IntegerField()
out_of_stock_behaviour = models.CharField(max_length=20, choices=[...])
class Meta:
abstract = True
def save(self, *args, **kwargs):
super(self.__class__, self).save(*args, **kwargs)
if self.stock <= 0:
#...
Vấn đề của tôi là tôi cần phải thay đổi nhãn hoặc thêm khác nhau help_text
đến lĩnh vực stock
trong các lớp con tôi đẻ trứng. Điều này rất quan trọng vì khách hàng (và nhân viên của họ) cần hướng dẫn về các đơn vị. Tôi đã thử munging xung quanh trong các con __init__
nhưng tôi không nhận được bất cứ nơi nào.
tl; dr Làm cách nào bạn có thể thay đổi nhãn trên một trường từ mô hình con?
Đừng làm điều này: 'super (self .__ class__, self)' Bạn có thể dễ dàng nhận được đệ quy vô hạn. – DrTyrsa
Nó sẽ không đẹp, nhưng: http://stackoverflow.com/a/928774/16361 – AdamKG
Cảm ơn @AdamKG thật hoàn hảo. – Oli