e.add(opts,'"%s": You can\'t use "id" as a field name, because each model automatically gets an "id" field if none of the fields have primary_key=True. You need to either remove/rename your "id" field or add primary_key=True to a field.'%f.name)
e.add(opts,"Reverse query name for m2m field '%s' clashes with related field '%s.%s'. Add a related_name argument to the definition for '%s'."%(f.name,rel_opts.object_name,r.get_accessor_name(),f.name))
# Check swappable attribute.
ifopts.swapped:
try:
app_label,model_name=opts.swapped.split('.')
exceptValueError:
e.add(opts,"%s is not of the form 'app_label.app_name'."%opts.swappable)
continue
ifnotmodels.get_model(app_label,model_name):
e.add(opts,"Model has been swapped out for '%s' which has not been installed or is abstract."%opts.swapped)