git checkout .
git reset
git revert ...
sudo apt-get install git-core
git clone https://github.com/username/projectname.git
git add filename
git status
git commit -a -m "change description"
git push git@github.com:username/projectname.git
git push
If you want to revert changes made to the index (i.e., that you have added), do this:
If you want to revert a change that you have committed, do this:
|
git pull
git diff
git branch rama
git branch
git checkout rama
git branch master (goto the main branch)
git merge "rama" (merge rama with main)
find . -name "*.pyc" -exec git rm -f {} \;
git config --global core.excludesfile ~/.gitignore_global
## Branques
Las operaciones sobre los objetos model de django se mapean a SQL mediante el ORM (Object-relational mapping). Un problema que tiene el ORM de django es que no tiene soporte directo para los campos calculados, que son aquellos que se obtienen a partir de los valores de los campos del registro para cada registro.
Por ejemplo, tenemos unos movimientos en los que interviene cantidad, precio y comisión. ¿Qué sentido tiene guardar en la BD el campo importe si en realidad ya tenemos toda la información para calcularlo?.
class Movimiento(models.Model):
cantidad=models.DecimalField()
precio=models.DecimalField()
comision=models.DecimalField()
class Movimiento(models.Model):
cantidad=models.DecimalField()
precio=models.DecimalField()
comision=models.DecimalField()
def _get_importe(self):
return self.cantidad*self.cambio*(1-self.comision)
importe = property(_get_importe)
Y ahí tenemos el importe del movimiento via movimiento.importe
target=movimiento.objects.extra(select={
'importe': 'cantidad*cambio*(1-comision)',})
for f in target:
print f.importe
total_importe=modelo.aggregate(Sum('importe'))
Si queremos que los importes monetarios de nuestras plantillas nos salgan (en España) así: 1.256,56 €
en vez de así:1256.56 €
tenemos que localizar la plantilla y dejar que django haga el trabajo duro.
Para empezar, en settings.py indicamos que queremos usar la localización añadiendo:DEFAULT_CHARSET='utf-8'
THOUSAND_SEPARATOR= '.'
DECIMAL_SEPARATOR = ','
NUMBER_GROUPING = 3
USE_THOUSAND_SEPARATOR = True
FIRST_DAY_OF_WEEK = 1
LANGUAGE_CODE = 'es-es'
USE_L10N = True
En la plantilla, cargamos l10n y activamos la localización así:{% load l10n %}
{% localize on %}
blah, blah, blah...
{% endlocalize %}
Y de forma mágica los importes aparecerán correctamente formateados. Para controlar la cantidad de decimales diferentes del estándar también podemos usar el filtro floatformat:precision así:{{ importe|floatformat:6 }}