Blog

django-modeltraslation making translation field null=False

31 Oct 2016 19:25

https://github.com/deschler/django-modeltranslation/issues/144
This article is a go-around for the above issue that django-modeltranslation forces "null=True" for all translated fields including CharField.

Code

models.py

from django.db import models
 
class Place(models.Model):
    name = models.CharField(max_length=255, default="",)

translation.py

from modeltranslation.translator import translator, TranslationOptions, register
from .models import Place
 
def override_translation_field_nullability(self, field, translation_field,):
    from django.db.models import fields
    field_instance = self.model._meta.get_field(field)
 
    if isinstance(field_instance,fields.CharField):
        translation_field.null = False
 
class PlaceTranslationOptions(TranslationOptions):
    fields = ('name',)
 
    def add_translation_field(self, field, translation_field):
        override_translation_field_nullability(self,field,translation_field)
        rv = super(PlaceTranslationOptions,self).add_translation_field(field, translation_field)
        return rv
 
translator.register(Place, PlaceTranslationOptions,)

How it works

  • TranslationOption's add_translation_field is overridden to force null=True
  • model Place's CharField has explicit default value default="", to force translated fields (e.g. name_en) with default=""

PageRank vs HITS (Hubs & Authorities)

01 Oct 2013 19:11

Recent presentation on PageRank vs. HITS

pptx; contains animation


이한이 여권

28 May 2013 21:09

이한이가 6월에 처음으로 한국에 들어간다. 외국에서 태어난 아기는 한국에 들어오기 전에는 주민번호 뒷 7자리를 받을 수 없다. 종로구 여권과에 전화해보니 한국에 들어와서 주민번호가 완전히 생성된 후에 이한이의 여권을 신청하라고 했다.

여권과 공무원의 목소리가 친절해서 맘이 편한 것도 잠시, 이한이의 미국 여권을 받아보고는, 부모는 둘 다 한국인이지만 미국 여권이 아기를 대표한다는 생각에 기분이 좀 착찹해졌다. 한국 들어가면 이한이도 정식으로 이중국적자가 되어서 주민 번호를 받고 한국 여권을 신청할 수 있지만, 조국에 처음 입국하기 위해서는 미국 여권을 사용해야만 한다는 것이 조금 우습기도 하다. 물론, 외국에서부터의 허위 출생신고나 여권을 해외택배 등으로 배송하는 문제 등을 생각할 때 적절한 조치인 것 같기는 하지만.


쿨타임 종료

10 Oct 2012 16:51

쿨타임 종료되었다.
덤벼라, 세상아!

클래스는 변하지 않아.


US Great credit card deals

20 Jul 2012 14:41

page 1 of 17123...1617next »
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License