заниматься только ИТ, администрировать крутые проекты
УСТРОИТЬСЯ в 2-3 компании для работы по удаленке
Item {
id: myForm
objectName: "myForm"
property var formHandler;
TextIntput {
id: textInput1
onEditingFinished: {
formHandler.field1= textInput1.text; (textInput1 можно отбросить и написать просто text)
}
}
}
formHandler.saveForm();
и уже ничего ниоткуда собирать не надо - всё будет в прописанных Q_PROPERTY.SELECT
`id`,
(
6371 *
acos(
cos( radians( %lat ) ) *
cos( radians( `lat` ) ) *
cos(
radians( `long` ) - radians( %lon )
) +
sin(radians( %lat )) *
sin(radians(`lat`))
)
) as `distance`
FROM
`location`
HAVING
`distance` < %distance
ORDER BY
`distance`
M:
if (att == 1) {
//или тут M:
Console.WriteLine ("Вы использовали обычную атаку");
Console.WriteLine ("Урон: " + attack);
Console.WriteLine ("У врага осталось: " + (ehp - attack) + "хп");
Console.WriteLine ("Враг вас убил, попробуйте еще раз")
goto M; //(Здесь должен быть банальный рестарт программы.)
}
private void MyFunc(bool stop = false;)
{
if(stop) return;
if (att == 1) {
Console.WriteLine ("Вы использовали обычную атаку");
Console.WriteLine ("Урон: " + attack);
Console.WriteLine ("У врага осталось: " + (ehp - attack) + "хп");
Console.WriteLine ("Враг вас убил, попробуйте еще раз")
MyFunc(); //(Здесь должен быть банальный рестарт программы.)
}
}
int damage = 100;
for(;;)
{
if (att == 1) {
Console.WriteLine ("Вы использовали обычную атаку");
Console.WriteLine ("Урон: " + attack);
Console.WriteLine ("У врага осталось: " + (ehp - attack) + "хп");
Console.WriteLine ("Враг вас убил, попробуйте еще раз")
}
hp < damage ? break : continue; //(Здесь должен быть банальный рестарт программы.)
}
domain.com/id_firstname_lastname
при этом в экшене можно извлечь id и найти пользователя, все что после id_ носит исключительно декоративный характер. Но я не сторонник данного метода, так как отдавать в url id записи не айс. И тогда лучше отдавать хеш, а раз хеш, то опять таки доп столбец нужен и приходим к первому варианту. from django.db import models
from django.db.models import Max, Sum
from django.utils.translation import ugettext_lazy as _
class Product(models.Model):
name = models.CharField(
_('Name'),
max_length=200,
db_index=True,
)
def __str__(self):
return self.name
class Document(models.Model):
INVOICE = 'I'
WAYBILL = 'W'
TYPE_CHOICES = (
(INVOICE, _('Invoice')),
(WAYBILL, _('Waybill')),
)
type = models.CharField(
_('Type'),
max_length=1,
choices=TYPE_CHOICES,
)
number = models.CharField(
_('Number'),
blank=True,
max_length=50,
)
created_at = models.DateTimeField(
_('Created'),
auto_now_add=True,
db_index=True,
)
@property
def total(self):
return self.items.aggregate(sum=Sum('total'))['sum']
class Meta:
ordering = ['-created_at']
class DocumentItem(models.Model):
document = models.ForeignKey(
Document,
models.CASCADE,
related_name='items',
)
position = models.PositiveIntegerField(
verbose_name=_('Position'),
editable=False,
db_index=True,
)
product = models.ForeignKey(
Product,
models.PROTECT,
)
price = models.DecimalField(
_('Price'),
max_digits=12,
decimal_places=2,
)
quantity = models.DecimalField(
_('Quantity'),
max_digits=10,
decimal_places=3,
)
total = models.DecimalField(
_('Total'),
max_digits=12,
decimal_places=2,
)
def save(self, *args, **kwargs):
if not self.position:
position = self.document.items.aggregate(Max('position'))['position__max'] or 0
self.position = position + 1
super(DocumentItem, self).save(*args, **kwargs)
from django.contrib import admin
from .models import Product, Document, DocumentItem
@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
pass
class DocumentItemInline(admin.TabularInline):
model = DocumentItem
fields = (
'position',
'product',
'price',
'quantity',
'total',
)
readonly_fields = (
'position',
)
ordering = ['position']
@admin.register(Document)
class DocumentAdmin(admin.ModelAdmin):
inlines = [
DocumentItemInline,
]
list_display = (
'type',
'number',
'created_at',
'total',
)
list_filter = (
'type',
)
search_fields = (
'=number',
)
freeze_time
число секунд, так будет удобнее хранить в БД и оно удобно конвертируется в/из timedelta, который уже можно прибавлять к datetime
.>>> from datetime import datetime, timedelta, now
>>> begin_date = datetime(2017, 9, 1, 0, 0, 0)
>>> end_date = datetime(2017, 9, 30, 0, 0, 0)
>>> freeze_time = end_date - now()
>>> freeze_time
datetime.timedelta(2, 17264, 411894)
>>> freeze_time.total_seconds()
190064.411894
>>> freeze_time = int(freeze_time.total_seconds())
>>> freeze_time
190064
>>> now() + timedelta(seconds=freeze_time)
datetime.datetime(2017, 9, 30, 0, 1, 1, 371159)