Đây là mô hình của tôi. Những gì tôi muốn làm là tạo một tệp mới và ghi đè lên tệp hiện có bất kỳ khi nào một phiên bản mẫu được lưu:Django - cách tạo tệp và lưu tệp đó vào FileField của mô hình?
class Kitten(models.Model):
claw_size = ...
license_file = models.FileField(blank=True, upload_to='license')
def save(self, *args, **kwargs):
#Generate a new license file overwriting any previous version
#and update file path
self.license_file = ???
super(Request,self).save(*args, **kwargs)
Tôi thấy rất nhiều tài liệu về cách tải tệp lên. Nhưng làm thế nào để tôi tạo ra một tập tin, gán nó vào một lĩnh vực mô hình và có Django lưu trữ nó ở đúng nơi?
Ok, tôi nghĩ rằng sẽ làm việc nhưng tôi nhận được vào một số loại vòng lặp đệ quy gọi rằng trong phương pháp tiết kiệm. Nó chỉ tiếp tục tạo ra các tập tin mãi mãi. – Greg
Đối với các vấn đề đệ quy tôi phải gọi self.license_file.save với arg save = False. – Greg
@Greg cảm ơn bạn, vấn đề đệ quy thực sự gây phiền nhiễu. – laike9m