一連の個別の set および get メソッドを記述せずに、POST 呼び出しからモデルの個々のフィールドを繰り返し設定しようとしています。残念ながら、私が概念化した唯一の方法論は非常にハックに見え、機能させることさえできません。私は何か難しいことをしている、または言語の設計と戦っているように感じ、誰かが私を正しい方向に向けてくれることを望んでいました:
私の変更機能
def modify(request, specification_id):
spec = get_object_or_404(Specification, pk=specification_id)
user = request.user
try:
for key, value in request.POST.iteritems():
if spec._get_FIELD_display(spec._meta.get_field_by_name(key)[0]) != value:
#This would be where the setter would go if I could figure out how to make it work
class Specification(models.Model):
text = models.TextField(max_length=40000)
last_modified = models.DateTimeField('Date Last Modified')